第一步:配置jdbc数据源或连接池
<!-- 加载配置文件 -->
<context:property-placeholder location="classpath:application.properties"/>
# application.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mvc?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
jdbc.username=root
jdbc.password=123456
<!-- 以druid为例 -->
<!-- 数据库连接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 配置连接池属性 -->
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
第二步:配置SqlSessionFactory
<!-- 配置SqlSessionFactory对象 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入数据库连接池 -->
<property name="dataSource" ref="dataSource"/>
<!-- 扫描sql配置文件:mapper需要的xml文件 -->
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
第三步:配置MapperScannerConfigurer
<!-- 配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 注入sqlSessionFactory -->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<!-- 给出需要扫描Dao接口包(必须) -->
<property name="basePackage" value="com.yzy.demo.mvc.dao"/>
</bean>
第四步:创建User
实体类
package com.yzy.demo.mvc.alias;
public class User {
private Long id;
private String name;
private Integer age;
private String pwd;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
第五步:创建UserDao
接口
package com.yzy.demo.mvc.dao;
import com.yzy.demo.mvc.alias.User;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public interface UserDao {
List<User> getUserList();
void addUser(User user);
}
第六步:创建user.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.yzy.demo.mvc.dao.UserDao">
<!-- 查询list-->
<select id="getUserList" resultType="com.yzy.demo.mvc.alias.User">
select * from user
</select>
<!-- 插入user-->
<insert id="addUser" parameterType="com.yzy.demo.mvc.alias.User">
insert into user VALUES(id,#{name},#{age},#{pwd})
</insert>
</mapper>
第七步:创建User Service
package com.yzy.demo.mvc.service;
import com.yzy.demo.mvc.alias.User;
import com.yzy.demo.mvc.dao.UserDao;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class UserService {
@Resource
UserDao dao;
public List<User> getUserList() {
return dao.getUserList();
}
public void addUser(User user) {
dao.addUser(user);
}
第八步:创建User Controller
package com.yzy.demo.mvc.controller;
import com.yzy.demo.mvc.alias.User;
import com.yzy.demo.mvc.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.util.List;
@Controller
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ResponseBody
public List<User> index() {
return this.userService.getUserList();
}
@RequestMapping(value = "/add", method = RequestMethod.GET)
@ResponseBody
public List<User> add() {
User user = new User();
user.setAge(44);
user.setName("add");
user.setPwd("password");
userService.addUser(user);
return this.userService.getUserList();
}
启动服务
访问http://localhost:8080/user/list
[
{
id: 1,
name: "张三",
age: 25,
pwd: "123456"
},
{
id: 2,
name: "李四",
age: 22,
pwd: "666666"
}
]
访问http://localhost:8080/user/add
[
{
id: 1,
name: "张三",
age: 25,
pwd: "123456"
},
{
id: 2,
name: "李四",
age: 22,
pwd: "666666"
},
{
id: 3,
name: "add",
age: 44,
pwd: "password"
}
]