该篇博客主要基于博客:搭建 SSM 框架详细教程(一) 进行SSM框架的优化。
一、重构数据源配置
1.新建 application.properties 文件
##JDBC Global Setting
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/springmvc04?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456
2. 修改 spring-mybatis.xml 配置文件
在 spring-mybatis.xml 配置文件中新增和修改,如下配置:
<!-- 引入配置文件 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:application.properties</value>
</list>
</property>
</bean>
<!--配置 c3p0 数据库连接池-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
二、新增mybatis 相关配置文件
2.1 新增 mybatis-config.xml 配置文件,用于设置mapper文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 配置全局属性 -->
<settings>
<!-- 使用jdbc的getGeneratedKeys获取数据库自增主键值 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 使用列别名替换列名 默认:true -->
<setting name="useColumnLabel" value="true" />
<!-- 开启驼峰命名转换:Table{create_time} -> Entity{createTime} -->
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
</configuration>
2.2新增 user-mapper.xml 配置文件
通过user-mapper.xml 进行数据的增删查改。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dongl.dao.UserDao">
<!-- 目的:为dao接口方法提供sql语句配置 -->
<select id="findById" resultType="com.dongl.entity.User">
<!-- 具体的sql -->
SELECT
id,
username,
birthday,
sex,
address
FROM
user
WHERE
id = #{id}
</select>
<delete id="deleteById">
DELETE FROM user WHERE id = #{id}
</delete>
<update id="updateById">
UPDATE user
SET username=#{username}, birthday=#{birthday} ,sex=#{sex},address=#{address}
WHERE id = #{id}
</update>
</mapper>
2.3 启动项目进行测试
在刘来气地址栏输入:http://localhost:8080/user/findById?id=9
查询指定数据: