springboot(三).springboot用最簡單的方式整合mybatis
阿新 • • 發佈:2018-07-09
類信息 values 結構 日誌 width orm框架 代碼 red face
Springboot整合mybatis
在眾多的orm框架中,我使用最多的,最習慣的,也是目前使用最廣泛的就是mybatis,接下來我們就去將springboot整合mybatis
對於springboot整合mybatis有好幾種方法,在這裏我們使用最簡單,最方便的一種整合方式
在pom中添加以下依賴
在application.properties 中增加以下配置
#數據庫連接本地 spring.datasource.url=jdbc:mysql://localhost:3306/springbootTest spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.initial-size = 10 spring.datasource.max-active = 50 spring.datasource.min-idle = 5 spring.datasource.max-idle = 10
在這裏要想使用這種最簡單的方法,就必須用spring.datasource開頭,只有以datasource開頭,才能在項目的Application啟動時將配置文件的該類信息組裝成datasource(數據源),達到了連接數據庫的目的
接下來創建user表
表結構:
CREATE TABLE `user` ( `id` varchar(255) NOT NULL, `username` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
編寫dao層代碼,新建UserMapper 接口
@Mapper public interface UserMapper { @Select("SELECT * FROM USER WHERE username = #{username}") UserInfo findByName(@Param("username") String username); @Insert("INSERT INTO user(id,username, password,name) VALUES(#{id},#{username}, #{password},#{name})") int insert(UserInfo userInfo); }
在業務層增加對dao層接口的引用,創建userService
public interface UserService { public UserInfo getUserInfoByUserName(String username); public void insertUserInfo(UserInfo userInfo); }
@Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public UserInfo getUserInfoByUserName(String username) { UserInfo userInfo = userMapper.findByName(username); return userInfo; } @Override public void insertUserInfo(UserInfo userInfo) { userMapper.insert(userInfo); } }
接下來添加我們的controller,提供對外的接口,修改UserController
@RestController @RequestMapping(value = "/user") public class UserController { //增加日誌 private final Logger log = LoggerFactory.getLogger(UserController.class); @Autowired private UserService userService; /* * 測試mybatis連接數據庫 * 查詢信息 * @return * * * */ @RequestMapping(value = "/getUserInfoByName",method = RequestMethod.GET) public String getUserInfoByName(){ //打印日誌 log.info("開始根據用戶名查詢用戶信息"); String username = "yangheng"; UserInfo userInfo = userService.getUserInfoByUserName(username); Map<String,Object> resMap = new HashMap<String, Object>(); resMap.put("data",userInfo); return JSONConvertor.toJSON(resMap); } /* * 測試mybatis連接數據庫 * 新增用戶信息 * @return * * * */ @RequestMapping(value = "/insertUserInfo",method = RequestMethod.GET) public String insertUserInfo() throws Exception{ //打印日誌 log.info("開始插入用戶信息"); UserInfo userInfo = new UserInfo(); //用戶id userInfo.setId(UUID.randomUUID().toString()); //用戶用戶名 userInfo.setUsername("yangheng"); //用戶密碼 userInfo.setPassword(MD5.EncodeByMd5("123456")); //姓名 userInfo.setName("哼哼"); userService.insertUserInfo(userInfo); return "成功"; } }
來測試一下我們的新接口,訪問 http://localhost:8080/user/insertUserInfo
訪問 http://127.0.0.1:8080/user/getUserInfoByName
這裏密碼做了MD5加密
然後去數據庫中查一下是否查入成功了
這樣,最簡單的mybatis整合就完成了
springboot(三).springboot用最簡單的方式整合mybatis