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); } }
原文地址:https://www.cnblogs.com/Coder-Pig/p/7306139.html