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整合就完成了
原文地址:https://www.cnblogs.com/GodHeng/p/9284180.html
时间: 2024-10-07 14:24:13