StringJdbc :jdbcTemplate

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);
        }
    }
}

 

posted @ 2019-04-03 19:53  芯-觞  阅读(437)  评论(0编辑  收藏  举报