1 原始整合方式
步骤一:
创建数据库表
步骤二:
创建Maven工程
导入坐标
<dependencies>
<!--spring相关-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.7</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<!--servlet和jsp-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
</dependency>
<!--mybatis相关-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!--mybatis与spring整合所用-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
步骤四:
编写实体类
步骤五:
编写Mapper接口(Dao层)
步骤六:
编写Service层与其实现
步骤七:
编写Controller层
步骤八:
编写页面
步骤九:
编写配置文件
1.1 mybatis配置文件内容
sqlMapConfig.xml
1.2 spring、springMVC配置文件内容
spring配置文件
springMVC配置文件
1.3 web.xml配置文件内容
1.4 具体内容实现
前端部分
insert.jsp
userList.jsp
后端部分
采用xml配置文件的形式 与数据库进行数据交互,自定义了工具类(封装SqlSession的开启与关闭)和类型转换器类(Date类型转换成long型)
User.java
UserMapper
UserServiceImpl.java
UserController.java
其中,Utils的工具类
public class sqlSession {
private SqlSession sqlSession;
public SqlSession sqlSession_open(){
InputStream resourceAsStream = null;
try {
resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
} catch (IOException e) {
e.printStackTrace();
}
sqlSession =
new SqlSessionFactoryBuilder().build(resourceAsStream).openSession(true);
return sqlSession;
}
public void sqlSession_close(){
sqlSession.close();
}
}
自定义转换器类DateTpyeHandler,数据库存储的是BigInt
public class DateTypeHandler extends BaseTypeHandler<Date> {
//将java Date类型转换成数据库设置的BigInt类型
@Override
public void setNonNullParameter(PreparedStatement preparedStatement, int i, Date date, JdbcType jdbcType) throws SQLException {
long time = date.getTime();
preparedStatement.setLong(i,time);//设置参数
}
//将数据库中bigint类型转换成java date类型
//String参数 为要转换字段名称 ResultSet 为查询出的结果集
@Override
public Date getNullableResult(ResultSet resultSet, String s) throws SQLException {
//获取结果集中需要的数据(long) 转成成Date类型 返回
long aLong = resultSet.getLong(s);
Date date = new Date(aLong);
return date;
}
//将数据库中bigint类型转换成java date类型
@Override
public Date getNullableResult(ResultSet resultSet, int i) throws SQLException {
long aLong = resultSet.getLong(i); //i 为表中第几个字段
Date date = new Date(aLong);
return date;
}
//将数据库中bigint类型转换成java date类型
@Override
public Date getNullableResult(CallableStatement callableStatement, int i) throws SQLException {
long aLong = callableStatement.getLong(i);
Date date = new Date(aLong);
return date;
}
}
2 Spring整合MyBatis
2.1 整合思路
2.2 Session工厂交由Spring容器管理
1 将数据源配置移到applicationContext.xml
2 配置Session工厂
由该包提供的实现类SqlSessionFactoryBean
配置完成后,只需注入Mapper即可