DBUtil ,JDBC
package com.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBUtil { private Connection conn; public Connection getConn() { try { //1.加载mysql连接到数据库jar包,数据库驱动 Class.forName("com.mysql.jdbc.Driver"); //2.数据库所在位置以及要访问数据库的名字 String url = "jdbc:mysql://192.168.1.58:3306/stu"; //3.数据库的用户名,密码 String username = "root"; String password = "root"; //4.使用驱动管理器连接到数据库 conn = DriverManager.getConnection(url,username,password); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; } public void setConn(Connection conn) { this.conn = conn; } }
package com.jdbc; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class C_copyDao { //1.操作执行语句的对象 private PreparedStatement ps; //2.存放查询操作结果语句的对象 private ResultSet rs; //关闭资源的方法 public void clearUp(Connection conn){ try { if(rs != null){ rs.close(); } if(ps != null){ ps.close(); } if(conn != null){ conn.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /*增,删,改 * * 1. sql语句 * 2. 得到连接 * 3. 得到执行语句对象 * 4. 如果sql语句不完整,完成sql语句的参数化设置 * 5. 执行语句得到受影响的行数 * 6. 如果影响行数大于0,返回true,如果失败或异常,返回false; * * * */ //增 public boolean insert(C_copy cc){ //String sql = "insert into c_copy values('"+cc.getCid()+"','"+cc.getCn()+"')"; String sql = "insert into c_copy values(?,?)"; //有连接才能执行语句 Connection conn = new DBUtil().getConn(); //在连接中得到执行语句的对象 try { ps = conn.prepareStatement(sql); //发现语句不完整,给语句赋值 ps.setString(1, cc.getCid()); ps.setString(2, cc.getCn()); int i = ps.executeUpdate(); if(i > 0){ return true; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally{ this.clearUp(conn); } return false; } //删 public boolean deleteById(String id){ //String sql = "delete from c_copy where cid='"+id+"'"; String sql = "delete from c_copy where cid=?"; //有连接才能执行语句 Connection conn = new DBUtil().getConn(); //在连接中得到执行语句的对象 try { ps = conn.prepareStatement(sql); ps.setString(1, id); //执行 int i = ps.executeUpdate(); if(i > 0 ){ return true; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally{ this.clearUp(conn); } return false; } //改 //查 }