使用SpringBoot可以快速、敏捷地开发新一代基于Spring框架的应用程序。同时它集成了大量常用的第三方库配置,之前整合常用框架步骤繁琐,写各种配置文件,且版本都要求一致,今天用SpringBoot来快速搭建一个SSM框架(Spring、SpringMVC、Mybaits)。
使用工具:基于Eclipse的Spring Tool Suite、Maven 3.5
新建Spring Start Project,Start Dependencies选择Web、MySQL、MyBatis,完成项目创建。创建如下目录和相关类,以及resource下的mapper/UserMapper.xml: 图片.png实体类User.java如下(对应数据库的用户表,数据库建表插入数据过程略):
public class User {
private Integer uid;
private String username;
private String password;
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [uid=" + uid + ", username=" + username + ", password=" + password + "]";
}
}
UserController.java代码如下:
@RestController
public class UserController {
@Autowired
UserService userService;
@Autowired
HttpServletRequest request;
@RequestMapping(value = "user")
public List<User> selectUser() {
String username = request.getParameter("username");
List<User> users = userService.selectUserByUsername(username);
return users;
}
}
UserService.java代码如下:
@Service
public class UserService {
@Autowired
UserDao userDao;
public List<User> selectUserByUsername(String username) {
return userDao.selectUserByUsername(username);
}
}
UserDao.java代码如下(这里UserDao写成一个接口,具体由mapper的xml文件实现):
@Mapper
@Repository
public interface UserDao {
List<User> selectUserByUsername(String username);
}
UserMapper.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.example.demo.dao.UserDao" >
<select id="selectUserByUsername" parameterType="String" resultType="User">
SELECT * FROM t_user WHERE username = #{username}
</select>
</mapper>
最后还需要配置一下application.properties配置文件:
server.port=8888
#数据连接
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName=com.mysql.jdbc.Driver
#Mybatis扫描
mybatis.mapper-locations=classpath*:mapper/*.xml
#起别名
mybatis.type-aliases-package=com.example.demo.pojo
至此项目已经搭建完成,SpringApplication,启动!
访问http://localhost:8088/user?username=admin,页面显示如下:
配置说明:mapper xml文件中写了具体的Sql语句,namespace为dao类的命名空间,对应的id为dao中的方法名,parameterType为传入的参数类型,可以省略,resultType为返回值类型,返回单条记录对应的对象和返回多条记录对应的对象list,这边的写法是一致的,只要写类名即可,若返回map类型的键值对,resultType需写为map。#{username}是 MyBatis 创建一个预处理语句参数。使用 JDBC,这样的一个参数在 SQL 中会由一个“?”来标识,并被传递到一个新的预处理语句中。
application.properties配置文件server.port为tomcat端口,mybatis.type-aliases-package起别名配置可省略写mybatis的xml中的resultType的全路径。
网友评论