jdbc
Posted Zview
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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); } }
以上是关于jdbc的主要内容,如果未能解决你的问题,请参考以下文章