1 原始整合方式
步骤一: 创建数据库表
导入坐标
<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配置文件内容
1.2 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
2.3 事务控制交由Spring容器管理
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/2624.html