Spring框架对Jdbc进行了封装 提供了一个JDBCTemplated对象简化Jdbc开发 步骤 1 导包 2 创建JDBCTemplate 对象 依赖于DataSource 3 调用JDBCTemplace 方法 update 增、删、’改 都在这里边执行 queryForMap() 将查询结果封装为map集合 将列名作为键 将列名作为键,将列里的值作为值 queryForList() 查询结果封装到 List集合 query() 查询结果 将结果封装为JavaBean对象 queryForObject() 将结果封装为对象
query 实现增删改 package cn.lijun.demo1; import JdbcUtils.JdbcUtils; import org.springframework.jdbc.core.JdbcTemplate; public class Demo1JDBCTemplate { public static void main(String[] args) { //导包 //创建JDBCTemplate 对象 依赖于 DataSource JdbcTemplate te=new JdbcTemplate(JdbcUtils.getDatdSoutce()); //调用JDBCTemple 方法 String sql="insert into coount value(null,?,?)"; //String sql="update coount set money=5000 where id=?"; int i = te.update(sql,"dssfdsf",1000); System.out.println(i); } }
package JdbcUtils; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSource; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; /* *Druid工具类 **/ public class JdbcUtils { //定义成员变量 DateSource private static DataSource ds; static{ //加载配置文件 try { Properties pro=new Properties(); InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("druid.properties"); pro.load(in); ds = DruidDataSourceFactory.createDataSource(pro); } catch (Exception e) { e.printStackTrace(); } } public static Connection getConnection() throws SQLException { return ds.getConnection(); } //释放资源 public static void close(AutoCloseable... c){ for(AutoCloseable a: c){ if(a!=null){ try { a.close(); } catch (Exception e) { e.printStackTrace(); } } } } //获得连接池 public static DataSource getDatdSoutce(){ return ds; } }
package cn.lijun.demo; import JdbcUtils.JdbcUtils; import org.junit.Test; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; import java.util.List; import java.util.Map; public class Demo2JDBCTemple { //Junit单元测试 可以让方法独立运行 //修改Id为1的salary为100000 @Test public void text1(){ //创建JDBCTemplate 对象 依赖于DataSource JdbcTemplate temple=new JdbcTemplate(JdbcUtils.getDatdSoutce()); String sql="update coount set money=100000 where id=?"; int i = temple.update(sql, 5); System.out.println(i); } @Test //添加 public void text2(){ JdbcTemplate te=new JdbcTemplate(JdbcUtils.getDatdSoutce()); String sql="insert into coount value(null,?,?)"; int i = te.update(sql, "李登", 1000000); System.out.println(i); } @Test //查询所有 public void text3(){ JdbcTemplate jt=new JdbcTemplate(JdbcUtils.getDatdSoutce()); String sql="select * from coount"; List<Map<String, Object>> maps = jt.queryForList(sql); for(Map<String,Object> a:maps){ System.out.println(a); } } @Test //查询所有记录 将其封装为Coount对象 的List 集合 public void text4(){ JdbcTemplate jd=new JdbcTemplate(JdbcUtils.getDatdSoutce()); String sql="select * from coount"; List<Coount> list = jd.query(sql, new BeanPropertyRowMapper<Coount>(Coount.class)); for(Coount a:list){ System.out.println(a); } } }