JAVA的增删改查方法
首先导包,然后链接数据库在lib里面放你导入的包在创建一个DBHerlper里面写入这些:public class DBHelper {//定义三个常量,1.数据库的连接字符串2.数据库账号3.数据库密码public static final String url="jdbc:mysql://localhost:3306/";public static final String name="roo
·
首先导包,然后链接数据库
在lib里面放你导入的包
在创建一个DBHerlper里面写入这些:
public class DBHelper { //定义三个常量,1.数据库的连接字符串 2.数据库账号 3.数据库密码 public static final String url="jdbc:mysql://localhost:3306/"; public static final String name="root"; public static final String pwd="root"; //定义一个数据库链接对象。 private static Connection conn; public static Connection getConn(){ //1.加载驱动 try { Class.forName("com.mysql.jdbc.Driver"); //2.通过驱动管理器里面的getConnection的方法,得到一个数据库链接对象 try { conn= DriverManager.getConnection(url,name,pwd);//返回的是一个数据库链接对象Connection,用上面定义的数据库链接对象conn来接受这个返回值对象 } catch (SQLException throwables) { throwables.printStackTrace(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } //判断conn是否为空,如果有值则链接成功,如果没有值则链接失败 return conn; } //关闭数据库 public void realease(Connection conn){ //如果conn等于空,那么就关闭数据库。 if(conn!=null){ try { conn.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } } //测试是否链接到了数据库 public static void main(String[] args) { System.out.println(DBHelper.getConn() ); } }
在定义一个构造方法:
public class Userinfo { private int id; private String name; private String pwd; private String nyr; private String lestnyr; private String cadress; private String email; private String phone; public Userinfo(){ super(); } //做添加的时候因为id自增所以调用这个构造方法 public Userinfo(String name, String pwd, String nyr, String lestnyr, String cadress, String email, String phone) { this.name = name; this.pwd = pwd; this.nyr = nyr; this.lestnyr = lestnyr; this.cadress = cadress; this.email = email; this.phone = phone; } public Userinfo(int id, String name, String pwd, String nyr, String lestnyr, String cadress, String email, String phone) { this.id = id; this.name = name; this.pwd = pwd; this.nyr = nyr; this.lestnyr = lestnyr; this.cadress = cadress; this.email = email; this.phone = phone; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getNyr() { return nyr; } public void setNyr(String nyr) { this.nyr = nyr; } public String getLestnyr() { return lestnyr; } public void setLestnyr(String lestnyr) { this.lestnyr = lestnyr; } public String getCadress() { return cadress; } public void setCadress(String cadress) { this.cadress = cadress; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }
然后定义一个抽象类:
public interface UserinfoDao { //查询所有用户,把查询的用户存储在list集合里面 public List<Userinfo> findAll(); //根据用户的id查找某个用户 public Userinfo findUserById(int id); //删除 public int deleteUserById(int id); //添加,添加是一个用户对象所以是一个Userinfo public int addUser(Userinfo ui); //修改, public int updateUser(Userinfo ui); } 然后写详细的增删改查的代码:
public class Daoimpl implements UserinfoDao { //实现接口里面的方法 public List<Userinfo> findAll() { //1,获取数据库连接对象 Connection conn = DBHelper.getConn(); //定义一个集合 List<Userinfo> lists = new ArrayList<Userinfo>(); //2.书写sql语句 String sql = "select*from customer"; //3.预编译sql语句得到perpstatement对象 try { PreparedStatement ps = conn.prepareStatement(sql); //4.执行命令,查询之后的到结果集 //查询的结果都在这个结果集里面。 ResultSet rs = ps.executeQuery(); //5,从结果集中读取数据 while (rs.next()) { //通过有参的构造方法来完成对对象属性的赋值,值从结果集中读取出来 Userinfo ui = new Userinfo(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8)); //把读取出来的用户添加到集合中 lists.add(ui); } } catch (SQLException throwables) { throwables.printStackTrace(); } return lists; } @Override //查找某个用户 public Userinfo findUserById(int id) { //1,获取数据库连接对象 Connection conn = DBHelper.getConn(); //声明一个UserInfo为空。 Userinfo ui = null; //2.书写sql语句 String sql = "select*from customer where cid=?"; //3.预编译sql语句得到perpstatement对象 try { PreparedStatement ps = conn.prepareStatement(sql); //4.给占位符赋值 ps.setInt(1, id); //5.执行命令,查询之后的到结果集 //查询的结果都在这个结果集里面。 ResultSet rs = ps.executeQuery(); //6,从结果集中读取数据 if (rs.next()) {//当next为true,意味着从结果集中有数据。找到了 //通过有参的构造方法来完成对对象属性的赋值,值从结果集中读取出来 ui = new Userinfo(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8)); //把读取出来的用户添加到集合中 } } catch (SQLException throwables) { throwables.printStackTrace(); } return ui; } @Override //删除用户 public int deleteUserById(int id) { int result = 0; //获取数据库链接对象 Connection conn = DBHelper.getConn(); String sql = "delet*from userinfo where cid=?"; try { PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1, id); result = ps.executeUpdate(); } catch (SQLException throwables) { throwables.printStackTrace(); } return result; } //添加对象 public int addUser(Userinfo ui) { int result = 0; //获取数据库链接对象 Connection conn = DBHelper.getConn(); //如果id里面有自增则给id赋值,也就是多打一个问号 String sql = "insert into customer values(?,?,?,?,?,?,?,?)"; try { PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1, ui.getId()); ps.setString(1, ui.getName()); ps.setString(2, ui.getPwd()); ps.setString(3, ui.getNyr()); ps.setString(4, ui.getNyr()); ps.setString(5, ui.getCadress()); ps.setString(6, ui.getEmail()); ps.setString(7, ui.getPhone()); result = ps.executeUpdate(); } catch (SQLException throwables) { throwables.printStackTrace(); } return result; } //修改 public int updateUser(Userinfo ui) { int result = 0; //获取数据库链接对象 Connection conn = DBHelper.getConn(); //如果id里面有自增则给id赋值,也就是多打一个问号 String sql = "update customer set name=?,pwd=?,nyr=?,listnyr=?,cadress=?,email=?,phone=?where id=?"; try { PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, ui.getName()); ps.setString(2, ui.getPwd()); ps.setString(3, ui.getNyr()); ps.setString(4, ui.getLestnyr()); ps.setString(5, ui.getCadress()); ps.setString(6, ui.getEmail()); ps.setString(7, ui.getPhone()); ps.setInt(8, ui.getId()); result = ps.executeUpdate(); } catch (SQLException throwables) { throwables.printStackTrace(); } return result; } }
最后定义一个测试类来实现:
public class tee { static UserinfoDao ui= new Daoimpl(); public static void main(String[] args) { // test1(); //test2(); // test3(); // test4(); test5(); } private static void test5() { Userinfo uid=ui.findUserById(3); if(uid!=null){ uid.setName("张志伟"); ui.updateUser(uid); } } private static void test4() { int result= ui.addUser(new Userinfo("张建超","123456","2021-11-20","2021-12-10","长垣县","115432447@qq.com","1254154")); if(result>0){ System.out.println("添加成功"); } } //删除的方法 private static void test3() { int result= ui.deleteUserById(2); if(result>0){ System.out.println("删除成功"); } } //查找某个用户的方法 private static void test2() { //用一个User info接受返回值 Userinfo uid= ui.findUserById(2); System.out.println(uid.getName()); } private static void test1() { List<Userinfo> ulist=ui.findAll(); for(Userinfo u:ulist){ System.out.println("真实姓名"+u.getName()); } } }
更多推荐
已为社区贡献1条内容
所有评论(0)