Spring框架提供 对jdbc的进行了封装,可以操作 JdbcTemplate模板完成crud操作,JdbcTemplate 有点像 apache 提供的 dbutils
1. 开发步骤:
- 添加 spring-jdbc 的包,配置pom文件中依赖spring-jdbc
4.0.0
com.xingxue.spring
spring-jdbcttemplete
0.0.1-SNAPSHOT
org.springframework
spring-context
4.0.4.RELEASE
org.springframework
spring-aop
4.0.4.RELEASE
org.springframework
spring-aspects
4.0.4.RELEASE
org.springframework
spring-jdbc
4.0.4.RELEASE
com.alibaba
druid
1.1.6
mysql
mysql-connector-java
5.1.44
runtime
- 添加数据源
com.alibaba
druid
1.1.6
创建jdbcTemplate 模板实例,就可以快乐的玩,一般该模板通过ioc 容器帮助完成创建的工程
配置 beans.xml 文件
2.实现
public class UserDao {
private JdbcTemplate template;
public void add(User entity){
//ctrl + shift + x (y)
String sql = "INSERT INTO TBL_USER (NAME,BIRTH)VALUES(?,?)";
template.update(sql, entity.getName(),entity.getBirth());
}
public void delete(Serializable id){
String sql = "DELETE FROM TBL_USER WHERE ID = ?";
template.update(sql, id);
}
public void update(User entity){
String sql = "UPDATE TBL_USER SET NAME = ?,BIRTH = ? WHERE ID = ?";
template.update(sql, entity.getName(),entity.getBirth(),entity.getId());
}
public User getById(Serializable id){
String sql = "SELECT ID,NAME,BIRTH FROM TBL_USER WHERE ID = ?";
return template.queryForObject(sql, new BeanPropertyRowMapper(User.class), id);
}
public List getAll() {
String sql = "SELECT ID,NAME,BIRTH FROM TBL_USER ";
return template.query(sql, new BeanPropertyRowMapper(User.class));
}
public void setTemplate(JdbcTemplate template) {
this.template = template;
}
}
2. Spring 提供的声明式事务管理
2.1 事务管理方式
- 编码式事务管理
1.connection.setTranscation(false);
2.connection.beginTransction();
3.try {
操作的业务代码
}catch(exception e ) {
rollback();
}
4.connection.commit();
- 声明式事务管理:通过配置spring aop来完成事务的管理
3.Struts2、Mybatis、Spring 整合
Spring 框架整合应用程序每层的组件(统一 Spring 进行 管理) 核心,Spring 框架提供了相应的整合方案
3.1 Spring 整合 Struts2
- 配置依赖 pom 文件
org.apache.struts
struts2-core
2.3.33
org.apache.struts
struts2-spring-plugin
2.3.33
org.springframework
spring-context
4.0.4.RELEASE
org.springframework
spring-aop
4.0.4.RELEASE
org.springframework
spring-aspects
4.0.4.RELEASE
org.springframework
spring-jdbc
4.0.4.RELEASE
org.springframework
spring-web
4.0.4.RELEASE
- 编写 Spring 配置文件 (applicationContext.xml) 、 Struts2 的配置文件
- applicationContext.xml
- struts.xml
/ok.jsp
- 配置 web.xml 文件
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
3.2 Spring 整合 Mybatis
- 配置依赖 pom 文件
org.mybatis
mybatis
3.2.3
cglib
cglib
2.2.2
org.mybatis
mybatis-spring
1.3.1
- 编写 Spring 配置文件 (applicationContext.xml)、SqlMapConfig.xml
- applicationContext.xml
4. Struts2、Spring、Hiberante 整合
4.1 Spring 整合 Hibernate
- 配置 Spring 相关的依赖以及 Hiberante 的依赖 (POM 文件)
org.hibernate
hibernate-core
4.3.5.Final
org.springframework
spring-context
4.0.4.RELEASE
org.springframework
spring-aop
4.0.4.RELEASE
org.springframework
spring-aspects
4.0.4.RELEASE
org.springframework
spring-jdbc
4.0.4.RELEASE
org.springframework
spring-orm
4.0.4.RELEASE
commons-dbcp
commons-dbcp
1.4
com.oracle
ojdbc14
10.2.0
- Spring 整合的 配置文件
org.hibernate.dialect.Oracle10gDialect
true
true
4.1 Spring 整合 Struts2
- Struts2 相关的依赖 pom 文件
4.0.0
com.xingxue.s2sh
s2sh
war
1.0-SNAPSHOT
org.hibernate
hibernate-core
4.3.5.Final
org.springframework
spring-context
4.0.4.RELEASE
org.springframework
spring-aop
4.0.4.RELEASE
org.springframework
spring-aspects
4.0.4.RELEASE
org.springframework
spring-jdbc
4.0.4.RELEASE
org.springframework
spring-orm
4.0.4.RELEASE
org.springframework
spring-web
4.0.4.RELEASE
org.apache.struts
struts2-core
2.5.14.1
org.apache.struts
struts2-spring-plugin
2.5.14.1
commons-dbcp
commons-dbcp
1.4
com.oracle
ojdbc14
10.2.0
javax.servlet
javax.servlet-api
3.0.1
javax.servlet.jsp
javax.servlet.jsp-api
2.2.1
src/main/java
**/*.xml
false
- Spring 的配置文件
org.hibernate.dialect.Oracle10gDialect
true
true
- web.xml 配置文件
struts2
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
struts2
*.action
contextConfigLocation
classpath:spring/applicationContext.xml
org.springframework.web.context.ContextLoaderListener
- struts.xml 配置文件
/WEB-INF/views/ok.jsp
5. Struts2、Spring、JPA(Hibernate) 整合
- pom 文件:在以上的整合中导入
org.hibernate
hibernate-entitymanager
4.3.5.Final
- Spring 配置文件
org.hibernate.dialect.Oracle10gDialect
true
true