DaoBase.java
package com.bdqn.dao2;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class DaoBase {
private static String driver;
private static String url;
private static String user="root";
private static String pwd="root";
private static Connection conn = null;
static{
init();
}
public static void init(){
Properties proper = new Properties();
//文件路径
String fileName = "database.properties";
//将配置文件加载到输入流
InputStream is = DaoBase.class.getClassLoader().getResourceAsStream(fileName);
//读取配置信息
try {
proper.load(is);
driver = proper.getProperty("driver");
url = proper.getProperty("url");
user = proper.getProperty("user");
pwd = proper.getProperty("pwd");
} catch (IOException e) {
e.printStackTrace();
}
}
//获取连接
public static Connection getConn(){
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, pwd);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
//增删改方法
public static int updates(String sql,Object[] Object){
int num = 0;
PreparedStatement ps = null;
conn = getConn();
try {
ps = conn.prepareStatement(sql);
if(Object!=null && Object.length>0){
for (int i = 0; i < Object.length; i++) {
ps.setObject((i+1), Object[i]);
}
num = ps.executeUpdate();
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
close(conn, ps, null);
}
return num;
}
//关闭资源
public static void close(Connection conn, Statement sta,ResultSet rs){
try {
if(rs!=null){
rs.close();
}
if(conn!=null){
conn.close();
}
if(sta!=null){
sta.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//查询
public static ResultSet select(String sql){
ResultSet list = null;
conn = getConn();
try {
list = conn.createStatement().executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
}
>>> message = '''interpreter
... prompt'''
Dao.java
代码块语法遵循标准markdown代码,例如:
package com.bdqn.dao2;
import java.util.List;
import com.bdqn.entity.Dept;
public interface Dao {
//增加
int insert(Dept dept);
//删除
int delete(Dept dept);
//改
int update(Dept dept);
//全查
List<Dept> selectAll();
//根据id查询
List<Dept> selectId(int did);
}
>>> message = '''interpreter
... prompt'''
DeptDao.java
代码块语法遵循标准markdown代码,例如:
package com.bdqn.dao.impl;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.bdqn.dao2.*;
import com.bdqn.entity.Dept;
public class DeptDao extends DaoBase implements Dao {
int num = 0;
//增加
public int insert(Dept dept) {
String sql = "insert into dept values(?,?,?)";
Object[] Object = {dept.getDid(),dept.getDname(),dept.getDage()};
num = DaoBase.updates(sql, Object);
return num;
}
//删除
public int delete(Dept dept) {
String sql = "delete from dept where did = ?";
Object[] Object = {dept.getDid()};
num = DaoBase.updates(sql, Object);
return num;
}
//更新
public int update(Dept dept) {
String sql = "update dept set dname=? where did=?";
Object[] Object = {dept.getDname(),dept.getDid()};
num = DaoBase.updates(sql, Object);
return num;
}
//查询全部
public List<Dept> selectAll() {
List<Dept> list = new ArrayList<Dept>();
String sql = "select *from dept";
ResultSet rs = DaoBase.select(sql);
try {
while(rs.next()){
Dept dept = new Dept();
dept.setDid( rs.getInt("did"));
dept.setDname(rs.getString("dname"));
dept.setDage(rs.getInt("dage"));
list.add(dept);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
super.close(null, null, rs);
}
return list;
}
//根据id查询
public List<Dept> selectId(int did) {
List<Dept> list = new ArrayList<Dept>();
String sql = "select did,dname,dage from dept where did="+did;
ResultSet rs = DaoBase.select(sql);
try {
while(rs.next()){
Dept dept = new Dept();
dept.setDid( rs.getInt("did"));
dept.setDname(rs.getString("dname"));
dept.setDage(rs.getInt("dage"));
list.add(dept);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
super.close(null, null, rs);
}
return list;
}
}
>>> message = '''interpreter
... prompt'''
Dept.java
代码块语法遵循标准markdown代码,例如:
package com.bdqn.entity;
public class Dept {
private int did;
private String dname;
private int dage;
public int getDid() {
return did;
}
public void setDid(int did) {
this.did = did;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
public int getDage() {
return dage;
}
public void setDage(int dage) {
this.dage = dage;
}
public Dept(int did, String dname, int dage) {
this.did = did;
this.dname = dname;
this.dage = dage;
}
public Dept() {
}
@Override
public String toString() {
return "Dept [did=" + did + ", dname=" + dname + ", dage=" + dage + "]";
}
}
>>> message = '''interpreter
... prompt'''
Test.java
代码块语法遵循标准markdown代码,例如:
package com.bdqn.utils;
import java.util.ArrayList;
import java.util.List;
import com.bdqn.dao.impl.DeptDao;
import com.bdqn.entity.Dept;
public class Test {
public static void main(String[] args) {
int num;
List<Dept> list = new ArrayList<Dept>();
DeptDao dp = new DeptDao();
//添加数据
dp.insert(new Dept(1, "01", 20));
dp.insert(new Dept(2, "02", 21));
dp.insert(new Dept(3, "03", 22));
dp.insert(new Dept(4, "04", 19));
dp.insert(new Dept(5, "05", 24));
/*//删除数据
Dept dept1 = new Dept();
dept1.setDid(1);
num = dp.delete(dept1);
System.out.println(num);
//修改数据
Dept dept2 = new Dept();
dept2.setDname("修改名字");
num =dp.update(dept2);
System.out.println(num);*/
//全部查询
list = dp.selectAll();
for(Dept de : list){
System.out.println(de.toString());
}
//根据id查询
list = dp.selectId(2);
for(Dept de : list){
System.out.println(de.toString());
}
}
}
>>> message = '''interpreter
... prompt'''