zoukankan      html  css  js  c++  java
  • jdbc

    1,  jdbcTemplate

        数据源 
    <bean id="DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" p:user="${jdbc.user}" p:password="${jdbc.password}" p:driverClass="${jdbc.driverClass}" p:jdbcUrl="${jdbc.JdbcUrl}" p:initialPoolSize="${jdbc.initPoolSize}" p:maxPoolSize="${jdbc.MaxPoolSize}" ></bean> 配置jdbctemplate <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" p:dataSource-ref="DataSource"></bean> //实现类的bean <bean class="com.zview.test.personDaoImpl" c:_0-ref="jdbcTemplate"></bean>

      

    public class personDaoImpl implements personDao {
    
        private JdbcTemplate jdbcTemplate;
    
        public personDaoImpl(JdbcTemplate jdbcTemplate) {
            this.jdbcTemplate = jdbcTemplate;
        }
    
        /*
        * 简单的执行一条sql
        * */
        public void insertTest1(){
            String sql="insert into mytable values('ly',14)";
            jdbcTemplate.execute(sql);
        }
    //update用来实现增删改都可以
    public void insertTest2(){ String sql="insert into mytable values(?,?)"; jdbcTemplate.update(sql,new Object[]{"we",123}); } public void modify(){ String sql="update mytable set age=? where name=?"; jdbcTemplate.update(sql,new Object[]{9,"lz"}); } public void delete(){ String sql="DELETE FROM mytable WHERE NAME =?"; jdbcTemplate.update(sql,new Object[]{"we"}); } //批量的处理 public void batchupdate(){ String sql="insert into mytable values(?,?)"; List<Object[]> list=new ArrayList<>(); list.add(new Object[]{"zs",128}); list.add(new Object[]{"z4s",66}); list.add(new Object[]{"z3s",23}); list.add(new Object[]{"zs2",14}); list.add(new Object[]{"zsewr",13242}); jdbcTemplate.batchUpdate(sql,list); } /* * 读取单个对象 * 如果要读取多个对象,这里面的queryForObject,直接改成query就可以了 * */ public void getObject(){ String sql="select name,age from mytable where name=?"; RowMapper<Person> rowMapper=new BeanPropertyRowMapper<>(Person.class); Person p=jdbcTemplate.queryForObject(sql,rowMapper,"lz"); System.out.println(p); } public void getVaule(){ String sql="select count(*) from mytable"; int z=jdbcTemplate.queryForObject(sql,Integer.class); System.out.println(z); } }

    2,Namedparametersqltemplate

     <bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate"
              c:_0-ref="DataSource"
        ></bean>
    
        <bean class="com.zview.test.personDaoImplNamed" c:_0-ref="namedParameterJdbcTemplate"></bean>
    //此类最大的意义在于,可以把各个域重新命名,这样子就不用按照位置一个一个去查找了,比较适用于,要查找的参数比较多的情况。
    public
    class personDaoImplNamed { NamedParameterJdbcTemplate namedParameterJdbcTemplate; public personDaoImplNamed(NamedParameterJdbcTemplate namedParameterJdbcTemplate) { this.namedParameterJdbcTemplate = namedParameterJdbcTemplate; } //这个可以按照名字进行处理,这样的话位置太多就不会出错 public void additem(){ String sql="insert into mytable values(:name,:age)"; Map<String,Object> map=new HashMap<>(); map.put("name","lzzzzzzzzzzzz"); map.put("age",1423); namedParameterJdbcTemplate.update(sql,map); } public void additem1(){ String sql="insert into mytable values(:name,:age)"; Person p=new Person(); p.setName("l55z"); p.setAge(15552); SqlParameterSource sqlParameterSource=new BeanPropertySqlParameterSource(p); namedParameterJdbcTemplate.update(sql,sqlParameterSource); } }
  • 相关阅读:
    C#中测量消耗的内存和时间的方法
    log4net和log2console的配置
    C#多语言编程
    C#和Qt实现的对于异常处理的一个使用策略
    分享一个小工具,提供源码,以便根据自己需要进行修改
    适用于关系型数据库的抽象工厂的数据库访问类
    一万小时定律(真正科学的学习方法)
    动态的SQL分页
    【转】数据库查询优化原则
    ssh 登录出现的几种错误以及解决办法
  • 原文地址:https://www.cnblogs.com/Coder-Pig/p/7306139.html
Copyright © 2011-2022 走看看