spring simpleJdbcTemplate 事务
?
?
?
这个是别人写的,觉得受用,所以存下来。。。。
?
Spring的JDBC框架能够承担资源管理和异常处理的工作,从而简化我们的JDBC代码,
让我们只需编写从数据库读写数据所必需的代
码。Spring把数据访问的样板代码隐藏到模板类之下,
结合Spring的事务管理,可以大大简化我们的代码.
Spring提供了
3个模板类:
JdbcTemplate:Spring里最基本的JDBC模板,利用JDBC和简单的索引参数查询提供对数据库的简单访问。
NamedParameterJdbcTemplate:
能够在执行查询时把值绑定到SQL里的命名参数,而不是使用索引参数。
SimpleJdbcTemplate:利用Java
5的特性,比如自动装箱、通用(generic)和可变参数列表来简化JDBC模板的使用。
具体使用哪个模板基本上取决于个人喜好。
使
用Spring的JdbcTemplate来实现简单的增删改查,首先建立测试数据表person
create table person(
id
int not null primary key auto_increment,
name varchar(20) not null
)
导入依赖的jar包,由于测试中数据源使用的是dbcp数据源,需要以下jar包支持:
commons-logging.jar
commons-pool.jar
commons-dbcp.jar
同时还必须导入数据库驱动jar包:mysql-connector-java-3.1.8-
bin.jar
建立实体bean
Person.java
Java 代码 <embed type="application/x-shockwave-flash" width="14" height="15" src="http://www.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=package%20com.royzhou.jdbc%3B%0A%0Apublic%20class%20PersonBean%20%7B%0A%09private%20int%20id%3B%0A%09private%20String%20name%3B%0A%0A%09public%20PersonBean()%20%7B%0A%09%7D%0A%09%0A%09public%20PersonBean(String%20name)%20%7B%0A%09%09this.name%20%3D%20name%3B%0A%09%7D%0A%09%0A%09public%20PersonBean(int%20id%2C%20String%20name)%20%7B%0A%09%09this.id%20%3D%20id%3B%0A%09%09this.name%20%3D%20name%3B%0A%09%7D%0A%09%20%0A%09public%20int%20getId()%20%7B%0A%09%09return%20id%3B%0A%09%7D%0A%0A%09public%20void%20setId(int%20id)%20%7B%0A%09%09this.id%20%3D%20id%3B%0A%09%7D%0A%0A%09public%20String%20getName()%20%7B%0A%09%09return%20name%3B%0A%09%7D%0A%0A%09public%20void%20setName(String%20name)%20%7B%0A%09%09this.name%20%3D%20name%3B%0A%09%7D%0A%09%0A%09public%20String%20toString()%20%7B%0A%09%09return%20this.id%20%2B%20%22%3A%22%20%2B%20this.name%3B%0A%09%7D%0A%7D%0A" quality="high" allowscriptaccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
-
package
?com.royzhou.jdbc;??
-
??
-
public
?
class
?PersonBean?{??
-
????private
?
int
?id;??
-
????private
?String?name;??
-
??
-
????public
?PersonBean()?{??
-
????}??
-
??????
-
????public
?PersonBean(String?name)?{??
-
????????this
.name?=?name;??
-
????}??
-
??????
-
????public
?PersonBean(
int
?id,?String?name)?{??
-
????????this
.id?=?id;??
-
????????this
.name?=?name;??
-
????}??
-
???????
-
????public
?
int
?getId()?{??
-
????????return
?id;??
-
????}??
-
??
-
????public
?
void
?setId(
int
?id)?{??
-
????????