1. 使用mybatis对数据库增删改查
案例:对以下案例使用mybatis进行添加、删除、修改、更新的操作。
查询
添加
删除
修改
package com.wust.pojo;
public class User {
private Integer id;
private String name;
private String gender;
private String dynasty;
private String title;
private String style;
//无参构造
public User() {
}
//有参构造
public User(Integer id, String name, String gender, String dynasty, String title, String style) {
this.id = id;
this.name = name;
this.gender = gender;
this.dynasty = dynasty;
this.title = title;
this.style = style;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getDynasty() {
return dynasty;
}
public void setDynasty(String dynasty) {
this.dynasty = dynasty;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getStyle() {
return style;
}
public void setStyle(String style) {
this.style = style;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", gender='" + gender + '\'' +
", dynasty='" + dynasty + '\'' +
", title='" + title + '\'' +
", style='" + style + '\'' +
'}';
}
}
package com.wust.mapper;
import com.wust.pojo.User;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper // 在运行时,会自动生成该接口的是实现类对象(代理对象),并且将该对象交给IOC容器管理
public interface UserMapper {
//查询全部用户信息
//@Select("sql语句")
@Select("select * from poet")
public List<User> list();
//插入数据
@Insert("insert into poet(id, name, gender, dynasty, title, style) values(#{id},#{name},#{gender},#{dynasty},#{title},#{style})")
public void insert(User user);
//删除数据
@Delete("delete from poet where id = #{id}")
public void delete(int id);
@Select("select * from poet where id = #{id}")
public User get(int id);
//修改数据
@Update("update poet set style=#{style} where id=#{id} ")
public int update(User user);
}
package com.wust;
import com.wust.mapper.UserMapper;
import com.wust.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest //springboot整合单元测试的注解
class SpringbootMybatisQuickstartApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
public void testListUser(){
List<User> userList = userMapper.list();
userList.stream().forEach(user -> {
System.out.println(user);
});
}
//插入一行数据
@Test
public void insert(){
User user = new User(8,"纳兰性德","男","清代","词人","清丽婉约");
userMapper.insert(user);
testListUser();
}
@Test
public void get(){
User user = userMapper.get(8);
testListUser();
}
//删除id=8的数据
@Test
public void delete(){
userMapper.delete(8);
testListUser();
}
//修改id=8的数据
@Test
public void update(){
User user= userMapper.get(8);
user.setStyle("格高韵远");
userMapper.update(user);
testListUser();
}
}
2.lombok库的使用
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
package com.wust.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Integer id; //编号
private String name; //姓名
private String gender; //性别
private String dynasty; //朝代
private String title; //头衔
private String style; //风格
}