会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132384个问题
Python 全系列/第九阶段:Python_Django2 框架(隐藏)/Django项目阶段-博客项目 36812楼
JAVA 全系列/第一阶段:JAVA 快速入门/飞机大战小项目训练 36813楼
JAVA 全系列/(旧的隐藏)第十二阶段:spring全家桶(Spring Cloud)/Spring Cloud 36815楼
JAVA 全系列/第一阶段:JAVA 快速入门/飞机大战小项目训练 36816楼

GIF.gif

老师 我的db.sqlite3右键之后没有添加数据源的选项呀

还有我新建的文件里为什么会有lib scripts pip等文件呀


Python 全系列/第九阶段:Python_Django2 框架(隐藏)/Django 入门 36817楼

为什么工具类无法初始化,查了几次代码都找不到原因?

工具类

package com.bjsxt.commns;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

/**
 * jdbc工具类
 * @author Administrator
 *
 */
public class JdbcUtil {
	private static String driver;
	private static String jdbcUrl;
	private static String username;
	private static String userpassword;
	static{
		//读取Properties文件
		ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
		driver = bundle.getString("driver");
		jdbcUrl= bundle.getString("jdbcUrl");
		username = bundle.getString("username");
		userpassword = bundle.getString("userpassword");
		try {
			Class.forName(driver);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	//获取Connection对象
	public static Connection getConnection(){
		Connection conn = null;
		try {
		 conn =	DriverManager.getConnection(jdbcUrl, username, userpassword);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
		
	}
	//关闭Statement
	public static void closeStatement(Statement state){
			try {
				if(state != null){
					state.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
	}
	//关闭Connection
	public static void closeConnection(Connection conn){
		try {
			if(conn != null){
				conn.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	//关闭资源
	public static void closeResource(Statement state,Connection conn,ResultSet rs){
		closeStatement(state);
		closeConnection(conn);
		closeResultSet(rs);
	}
	//关闭ResultSet连接
	public static void closeResultSet(ResultSet rs){
		try {
			if(rs != null){
				rs.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	//事务回滚
	public static void rollback(Connection conn){
		try {
			if(conn != null){
				conn.rollback();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}

模型层:

package com.bjsxt.pojo;

public class Departments {
	private String departmentName;
	private int location;
	private int departmentId;
	public String getDepartmentName() {
		return departmentName;
	}
	public void setDepartmentName(String departmentName) {
		this.departmentName = departmentName;
	}
	public int getLocation() {
		return location;
	}
	public void setLocation(int location) {
		this.location = location;
	}
	public Departments() {
		super();
		// TODO Auto-generated constructor stub
	}
	public int getDepartmentId() {
		return departmentId;
	}
	public void setDepartmentId(int departmentId) {
		this.departmentId = departmentId;
	}


}

持久层:


接口

package com.bjsxt.dao.impl;

import java.util.List;

import com.bjsxt.pojo.Departments;

public interface DepartmentsDao {
	public List<Departments> selectDeptByName(String deptName);
	public void insertDept(Departments dept);

}

实现类

package com.bjsxt.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.bjsxt.commns.JdbcUtil;
import com.bjsxt.pojo.Departments;

public class DepartmentsDaoImpl implements DepartmentsDao{
@Override
public List<Departments> selectDeptByName(String departmentName) {
	Connection conn = null;
	PreparedStatement ps = null;
	ResultSet rs = null;
	List<Departments> list = new ArrayList<>();
	try{
		conn = JdbcUtil.getConnection();
		ps = conn.prepareStatement("select * from departments where department_name=?");
		ps.setString(1, departmentName);
		rs = ps.executeQuery();
		while(rs.next()){
			Departments d = new Departments();
			d.setDepartmentId(rs.getInt("department_id"));
			d.setDepartmentName(rs.getString("departmentName"));
			d.setLocation(rs.getInt("location_id"));
			list.add(d);
		}
	}catch(Exception e){
		e.printStackTrace();
	}finally{
		JdbcUtil.closeResource(ps, conn, rs);;
	}
	return list;
}

@Override
public void insertDept(Departments dept) {
	Connection conn = null;
	PreparedStatement ps = null;
	try{
		
		conn = JdbcUtil.getConnection();
		conn.setAutoCommit(false);
		ps = conn.prepareStatement("insert into departemts values(default,?,?)");
		
		ps.setString(1, dept.getDepartmentName());
		ps.setInt(2, dept.getLocation());;
		ps.execute();
		conn.commit();
	}catch(Exception e){
		e.printStackTrace();
		JdbcUtil.rollback(conn);
	}finally{
		JdbcUtil.closeResource(ps, conn, null);
	}
	
}


}

业务层:

接口

package com.bjsxt.server.impl;

import java.util.List;

import com.bjsxt.pojo.Departments;

public interface DepartmentsService {
	public void addDepartments(Departments dept);


}

实现类

package com.bjsxt.server.impl;

import java.util.List;

import com.bjsxt.dao.impl.DepartmentsDao;
import com.bjsxt.dao.impl.DepartmentsDaoImpl;
import com.bjsxt.pojo.Departments;

public class DepartmentsServiceImpl implements DepartmentsService {

	@Override
	public void addDepartments(Departments dept) {
		DepartmentsDao deptDao = new DepartmentsDaoImpl();
		deptDao.insertDept(dept);
		
		
	}



}

测试层

package com.bjsxt.text;

import com.bjsxt.pojo.Departments;
import com.bjsxt.server.impl.DepartmentsService;
import com.bjsxt.server.impl.DepartmentsServiceImpl;

public class Test {

	public static void main(String[] args) {
		Departments dept = new Departments();
		dept.setDepartmentName("数学部2");
		dept.setLocation(20);
		DepartmentsService ds = new DepartmentsServiceImpl();
		ds.addDepartments(dept);
	}

}

运行图片:

image.png

jdbcDemp2.rar


JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 36818楼
JAVA 全系列/第四阶段:网页编程和设计/CSS3(旧) 36819楼
JAVA 全系列/(旧的隐藏)第七阶段:JAVA 高级技术/Maven 36820楼
Python 全系列/第一阶段:Python入门/Python入门(动画版) 36821楼
JAVA 全系列/(旧的隐藏)第十二阶段:spring全家桶(Spring Cloud)/Spring Cloud 36822楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637