TkMybatis目录
源码
GitHub: https://github.com/291685399/springboot-learning/tree/master/springboot-tkmybatis01
TkMybatis是什么?
tkmybatis是为了简化mybatis单表的增删改查而诞生的,极其方便的使用MyBatis单表的增删改查,在使用mybatis单表增删改查时,可以直接调用tkmybatis中提供的方法直接调用而不用写xml配置文件。支持单表操作,不支持通用的多表联合查询。
Springboot整合tkmybatis
pom.xml:
<dependencies>
<!-- springboot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- tkmybatis -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.5</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
UserController:
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/findById/{id}")
public User findById(@PathVariable int id) {
User user = userService.findById(id);
return user;
}
@RequestMapping("/findAll")
public List<User> findAll() {
List<User> userList = userService.findAll();
return userList;
}
@RequestMapping("/insert")
public void insert() {
User user = new User();
user.setName("张三");
user.setSex("男");
user.setAge(18);
user.setAddress("江西省");
user.setPhone("456789645");
userService.insert(user);
}
@RequestMapping("/delete")
public void delete() {
User user = new User();
user.setId(5);
userService.delete(user);
}
@RequestMapping("/update")
public void update() {
User user = new User();
user.setId(5);
user.setName("李四");
userService.update(user);
}
}
UserService:
public interface UserService {
public User findById(int id);
public List<User> findAll();
public void insert(User user);
public void update(User user);
public void delete(User user);
}
UserServiceImpl:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User findById(int id) {
return userMapper.selectByPrimaryKey(id);
}
@Override
public List<User> findAll() {
return userMapper.selectAll();
}
@Override
public void insert(User user) {
userMapper.insertSelective(user);
}
@Override
public void update(User user) {
userMapper.updateByPrimaryKey(user);
}
@Override
public void delete(User user) {
userMapper.deleteByPrimaryKey(user);
}
}
UserMapper:
public interface UserMapper extends Mapper<User> {
}
application.properties:
#tomcat port
server.port=8080
#datasource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://188.131.247.26:3306/springboot-tkmybatis01?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=root
#logging
logging.level.com.wyj.mapper:debug
User:
@Data
@Entity
public class User implements Serializable {
@Id
@KeySql(useGeneratedKeys = true)
private Integer id;
private String name;
private String sex;
private Integer age;
private String address;
private String phone;
}
SpringbootTkmybatisApplication:
@SpringBootApplication
@MapperScan("com.wyj.mapper")//tkmybatis的注解
public class SpringbootTkmybatisApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootTkmybatisApplication.class, args);
}
}