1.多条数据的select
封装在一个实体类中
@Test
public void test2()throws Exception{
Connection connection = JDBCUtils.getConnection();
String sql = "select * from user";
PreparedStatement ps = connection.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
Listlist = new ArrayList<>();
while (rs.next()){
int id = rs.getInt(1);
String username = rs.getString(2);
String password = rs.getString(3);
String name = rs.getString(4);
list.add(new User(id, username, password, name));
}
list.forEach(System.out::println);
JDBCUtils.getClose(connection, ps, rs);
}
2.连接池技术之c3p0技术
首先要导入包
@Test
public void test1()throws Exception{
DataSource dataSource = new ComboPooledDataSource();
Connection connection = dataSource.getConnection();
System.out.println(connection);
}
获取连接
3.连接池技术之德鲁伊
3.1 工厂模式创建
@Test
public void test2()throws Exception{
Properties properties = new Properties();
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
properties.load(is);
DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
Connection connection = dataSource.getConnection();
System.out.println(connection);
}
3.2 普通创建德鲁伊
@Test
public void test3()throws Exception{
Properties properties = new Properties();
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
properties.load(is);
String username = properties.getProperty("username");
String password = properties.getProperty("password");
String url = properties.getProperty("url");
String driverClassName = properties.getProperty("driverClassName");
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName(driverClassName);
ds.setPassword(password);
ds.setUsername(username);
ds.setUrl(url);
Connection connection = ds.getConnection();
System.out.println(connection);
}
4.连接池技术之DBCP
4.1 工厂创建模式
@Test
public void test5()throws Exception{
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("dhcp.properties");
Properties properties = new Properties();
properties.load(is);
DataSource dataSource = BasicDataSourceFactory.createDataSource(properties);
Connection connection = dataSource.getConnection();
System.out.println(connection);
}
4.2 普通创建模式
public void test4()throws Exception{
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUrl("jdbc:mysql:///test");
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUsername("root");
dataSource.setPassword("root");
Connection connection = dataSource.getConnection();
System.out.println(connection);
}
5.DBUtils工具类
导入jar包
@Test
public void test2()throws Exception{
DataSource dataSource = new ComboPooledDataSource();
QueryRunner runner = new QueryRunner(dataSource);
String sql = "select * from user where id = ?";
User user = runner.query(sql, new BeanHandler(User.class), 1);
System.out.println(user);
}
发现DBUtils工具类只可以用c3p0数据源
@Test
public void test3()throws Exception{
QueryRunner runner = new QueryRunner();
Connection connection = JDBCUtils.getConnection();
String sql = "update user set password = ? where id = ?";
int update = runner.update(connection, sql, "1234", 1);
System.out.println(update);
JDBCUtils.getClose(connection, null);
}