开发流程
1、引入MyBatis依赖(maven下的springboot添加如下坐标即可)POM.xml
org.mybatis.spring.boot mybatis-spring-boot-starter 2.2.2 mysql mysql-connector-java runtime
还推荐使用lomback
可以加快实体类的开发
2.配置核心配置文件,由于我们使用的是springboot,配置文件使用application.yml/properties即可(此处我们使用application.yml )org.projectlombok lombok true
# 数据库地址
datasource:
url: localhost:3306/springbootdb
spring:
datasource: # 数据库配置
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://${datasource.url}?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&maxReconnects=10
username: root
password: password
# hikari:
# maximum-pool-size: 10 # 最大连接池数
# max-lifetime: 1770000
mybatis:
# 指定别名设置的包为所有entity
type-aliases-package: com.itcodai.course10.entity
configuration:
map-underscore-to-camel-case: true # 驼峰命名规范
mapper-locations: # mapper映射文件位置
- classpath:mapperString userName, String password);
}
7.最后完成service服务层 实现类XXXimpl,就可以使用了。
使用@Service注解,将自己注入容器。方便Controller层调用。
package cn.javaobject.mybatis.service.impl;
import cn.javaobject.mybatis.dao.UserMapper;
import cn.javaobject.mybatis.domain.User;
import cn.javaobject.mybatis.service.UserService;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Resource
private UserMapper userMapper;
@Override
public List getAll() {
return userMapper.getAll();
}
@Override
public User getUserByName(String name) {
return null;
}
@Override
public User getUserById(String id) {
return userMapper.getUserById(id);
}
@Override
public User getUserByIdAndName(String id, String name) {
return userMapper.getUserByIdAndName(id,name);
}
@Override
public boolean UserSignIn(String userName, String password) {
return userMapper.UserSignIn(userName,password) == 1;
}
}
Controller类
package cn.javaobject.mybatis.controller;
import cn.javaobject.mybatis.domain.User;
import cn.javaobject.mybatis.service.UserService;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
public class Controller_db {
@Resource
private UserService userService;
@RequestMapping("/getUserById/{id}")
public User getUser(@PathVariable String id) {
return userService.getUserById(id);
}
@RequestMapping("/getall")
public List getAll() {
return userService.getAll();
}
@RequestMapping("/getUserByIdAndName/{id}/{name}")
public User getUserByIdAndName(@PathVariable String id,@PathVariable String name){
return userService.getUserByIdAndName(id,name);
}
@RequestMapping("/SignIn/{userName}/{password}")
public String UserSignIn(@PathVariable String userName, @PathVariable String password){
boolean isOk = false;
isOk = userService.UserSignIn(userName,password);
if(isOk == true){
return "successfully SignIn ! name:" + userName;
}
else
return "failure";
}
}
如果不是springboot的话(没有了IOC容器加载service类),则进行如下步骤,也应用到了ORM的思想。
初始化SessionFactory(MyBatis最核心的一个对象:会话工厂) 作用是:读取配置文件、加载Mapper映射,同时也为我们后期的处理做好前期的准备 利用SqlSession对象操作数据 Sqlsession是由SessionFactory这个对象进行创建的,每一个SqlSession对象我们形象的可以把它看成是一个数据库连接Connection有什么问题可以评论区留言。还有很多优质文章,欢迎关注。



