- 搭建开发环境在数据库建表,插入数据
- 创建JavaBean
package cn.itcast.jdbc.javabean; public class User { private int id; private String name; private String password; 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 getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
3.创建C3P0Utils工具类
package cn.itcast.jdbc.utils; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; public class C3p0Utils { private static DataSource ds = null; static { ComboPooledDataSource cpds = new ComboPooledDataSource(); try{ cpds.setDriverClass("com.mysql.cj.jdbc.Driver"); cpds.setJdbcUrl("jdbc:mysql://localhost:3306/jdbc?serverTimezone=GMT%2B8"); cpds.setUser("root"); cpds.setPassword("123456"); cpds.setInitialPoolSize(5); cpds.setMaxPoolSize(15); ds = cpds; }catch (Exception e){ throw new ExceptionInInitializerError(e); } } public static DataSource getDataSource(){ return ds; } }
4.创建InsertDao类,完成插入操作
package cn.itcast.jdbc.dao; import java.sql.SQLException; import org.apache.commons.dbutils.QueryRunner; import cn.itcast.jdbc.javabean.User; import cn.itcast.jdbc.utils.C3p0Utils; public class InsertDao { public static void main(String[] args)throws SQLException{ QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource()); String sql = "insert into user (id,name,password) values('4','hello1',123456)"; int num = runner.update(sql); if(num>0){ System.out.println("添加成功!"); }else{ System.out.println("添加失败!"); } } }
5.创建UpdateDao类,完成修改操作
package cn.itcast.jdbc.dao; import cn.itcast.jdbc.javabean.User; import cn.itcast.jdbc.utils.C3p0Utils; import java.sql.SQLException; import org.apache.commons.dbutils.QueryRunner; public class UpdateDao { public static void main(String[] args) throws SQLException { QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource()); // 修改后的 SQL 语句 String sql = "update user set name='hello2', password='111111' where id=4"; // 打印执行的 SQL 语句,确认是否有误 System.out.println("Executing SQL: " + sql); // 执行更新操作 int num = runner.update(sql); // 打印影响的行数 System.out.println("Affected rows: " + num); if (num > 0) { System.out.println("修改成功!"); } else { System.out.println("修改失败!"); } } }
6.创建DeleteDao类,完成删除操作
package cn.itcast.jdbc.dao; import cn.itcast.jdbc.utils.C3p0Utils; import java.sql.SQLException; import org.apache.commons.dbutils.QueryRunner; public class DeleteDao { public static void main(String[] args)throws SQLException{ QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource()); String sql = "delete from user where name='hello2'"; int num = runner.update(sql); if(num>0){ System.out.println("删除成功!"); }else{ System.out.println("删除失败!"); } } }
7.创建QueryDao类,完成查询操作
package cn.itcast.jdbc.dao; import java.sql.SQLException; import org.apache.commons.dbutils.QueryRunner; import cn.itcast.jdbc.javabean.User; import cn.itcast.jdbc.utils.C3p0Utils; import org.apache.commons.dbutils.handlers.BeanHandler; public class QueryDao { public static void main(String[] args)throws SQLException { QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource()); String sql = "select * from user where id=2"; User user= (User)runner.query(sql, new BeanHandler(User.class)); System.out.println(user.getId() + "," + user.getName() + "," + user.getPassword()); } }
package cn.itcast.jdbc.dao; import java.sql.SQLException; import org.apache.commons.dbutils.QueryRunner; import cn.itcast.jdbc.javabean.User; import cn.itcast.jdbc.utils.C3p0Utils; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; import java.util.List; public class QueryDao { public static void main(String[] args)throws SQLException { QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource()); String sql = "select * from user "; List<User> list = runner.query(sql, new BeanListHandler<>(User.class)); for(User user : list) { System.out.println(user.getId() + "," + user.getName() + "," + user.getPassword()); } } }
10-26
736

07-19
459

08-13
381
