使用SpringBoot可以快速、敏捷地開發(fā)新一代基于Spring框架的應(yīng)用程序。同時它集成了大量常用的第三方庫配置,之前整合常用框架步驟繁瑣,寫各種配置文件,且版本都要求一致,今天用SpringBoot來快速搭建一個SSM框架(Spring、SpringMVC、Mybaits)。
使用工具:基于Eclipse的Spring Tool Suite、Maven 3.5
新建Spring Start Project,Start Dependencies選擇Web、MySQL、MyBatis,完成項目創(chuàng)建。創(chuàng)建如下目錄和相關(guān)類,以及resource下的mapper/UserMapper.xml:
實體類User.java如下(對應(yīng)數(shù)據(jù)庫的用戶表,數(shù)據(jù)庫建表插入數(shù)據(jù)過程略):
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文件實現(xiàn)):
@Mapper
@Repository
public interface UserDao {
List<User> selectUserByUsername(String username);
}
UserMapper.xml內(nèi)容如下:
<?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
#數(shù)據(jù)連接
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
至此項目已經(jīng)搭建完成,SpringApplication,啟動!
訪問http://localhost:8088/user?username=admin,頁面顯示如下:

配置說明:mapper xml文件中寫了具體的Sql語句,namespace為dao類的命名空間,對應(yīng)的id為dao中的方法名,parameterType為傳入的參數(shù)類型,可以省略,resultType為返回值類型,返回單條記錄對應(yīng)的對象和返回多條記錄對應(yīng)的對象list,這邊的寫法是一致的,只要寫類名即可,若返回map類型的鍵值對,resultType需寫為map。#{username}是 MyBatis 創(chuàng)建一個預(yù)處理語句參數(shù)。使用 JDBC,這樣的一個參數(shù)在 SQL 中會由一個“?”來標識,并被傳遞到一個新的預(yù)處理語句中。
application.properties配置文件server.port為tomcat端口,mybatis.type-aliases-package起別名配置可省略寫mybatis的xml中的resultType的全路徑。