1、在idea中配置好数据源
2、完成添加、删除、修改操作的代码。
User.java
package com.itheima.pojo;
public class User {
private Integer id;
private String name;
private Short age;
private Short gender;
private String phone;
public User(Integer id, String name, Short age, Short gender, String phone) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
this.phone = phone;
}
public User() {
}
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 Short getAge() {
return age;
}
public void setAge(Short age) {
this.age = age;
}
public Short getGender() {
return gender;
}
public void setGender(Short gender) {
this.gender = gender;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", gender=" + gender +
", phone='" + phone + '\'' +
'}';
}
}
配置数据库的连接信息
user表
①查询全部用户信息
Mapper接口
package com.itheima.mapper;
import com.itheima.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper //运行时,自动生成改接口的实现类对象(代理对象),并且将改对象交给IOC容器管理
public interface UserMapper {
//查询全部用户信息
@Select("select * from user")
public List<User> list();
}
测试方法
package com.itheima;
import com.itheima.mapper.UserMapper;
import com.itheima.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
class SpringbootMybatisQuickstartApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
public void testListUser(){
List<User> userList = userMapper.list();
userList.stream().forEach(user -> {
System.out.println(user);
});
}
}
②插入/添加
@Insert("insert into user(name, age, gender, phone) values (#{name}, #{age}, #{gender}, #{phone})")
public void insert(User user);
@Test
public void insert() {
User c = new User();
c.setName("王维");
c.setGender((short)1);
c.setAge((short)51);
c.setPhone("12343234543");
userMapper.insert(c);
testListUser();
}
③删除
@Delete("delete from user where id= #{id} ")
public void delete(int id);
@Test
public void delete() {
userMapper.delete(5);
testListUser();
}
④修改
@Update("update user set name=#{name} where id=#{id} ")
public int update(User user);
@Test
public void update() {
User c = userMapper.list().get(2);
c.setName("wangwei");
userMapper.update(c);
testListUser();
}
package com.itheima.mapper;
import com.itheima.pojo.User;
import org.apache.ibatis.annotations.*;
import org.springframework.boot.context.properties.bind.Name;
import java.util.List;
@Mapper //运行时,自动生成改接口的实现类对象(代理对象),并且将改对象交给IOC容器管理
public interface UserMapper {
//查询全部用户信息
@Select("select * from user")
public List<User> list();
@Insert("insert into user(name, age, gender, phone) values (#{name}, #{age}, #{gender}, #{phone})")
public void insert(User user);
@Delete("delete from user where id= #{id} ")
public void delete(int id);
@Update("update user set name=#{name} where id=#{id} ")
public int update(User user);
@Select("select * from user where id= #{id} ")
public User get(int id);
}
package com.itheima;
import com.itheima.mapper.UserMapper;
import com.itheima.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
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 c = new User();
c.setName("王维");
c.setGender((short)1);
c.setAge((short)51);
c.setPhone("12343234543");
userMapper.insert(c);
testListUser();
}
@Test
public void delete() {
userMapper.delete(5);
testListUser();
}
@Test
public void update() {
User c = userMapper.list().get(3);
c.setName("wangwei");
userMapper.update(c);
testListUser();
}
@Test
public void get() {
User c= userMapper.list().get(2);
System.out.print(c.getId()+",");
System.out.print(c.getName()+",");
System.out.print(c.getAge()+",");
System.out.print(c.getGender()+",");
System.out.println(c.getPhone());
}
}
4、6、对poet以下案例使用mybatis进行添加、删除、修改、更新的操作。
use mybatis;
create table poet(
id int unsigned primary key auto_increment comment 'ID',
name varchar(100) comment '姓名',
gender tinyint unsigned comment '性别, 1:男, 2:女',
dynasty varchar(100) comment '朝代',
title varchar(100) comment '头衔',
style varchar(100) comment '风格'
) comment '诗人1';
insert into poet(id, name, gender, dynasty, title,style) VALUES (null,'陶渊明','1','东晋末至南朝宋初期','诗人和辞赋家','古今隐逸诗人之宗');
insert into poet(id, name, gender, dynasty, title,style) VALUES (null,'王维','1','唐代','诗佛','空灵、寂静');
insert into poet(id, name, gender, dynasty, title,style) VALUES (null,'李白','1','唐代','诗仙','豪放飘逸的诗风和丰富的想象力');
insert into poet(id, name, gender, dynasty, title,style) VALUES (null,'李商隐','2','唐代','诗坛鬼才','无');
insert into poet(id, name, gender, dynasty, title,style) VALUES (null,'李清照','2','宋代','女词人','婉约风格');
insert into poet(id, name, gender, dynasty, title,style) VALUES (null,'杜甫','1','唐代','诗圣','反映社会现实和人民疾苦');
insert into poet(id, name, gender, dynasty, title,style) VALUES (null,'苏轼','1','北宋','文学家、书画家,诗神','清新豪健的诗风和独特的艺术表现力');
Poet.java
package com.itheima.pojo;
public class Poet {
private Integer id;
private String name;
private String dynasty;
private String title;
private String style;
public Poet(Integer id, String name, String dynasty, String title, String style) {
this.id = id;
this.name = name;
this.dynasty = dynasty;
this.title = title;
this.style = style;
}
public Poet() {
}
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 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 "Poet{" +
"id=" + id +
", name='" + name + '\'' +
", dynasty='" + dynasty + '\'' +
", title='" + title + '\'' +
", style='" + style + '\'' +
'}';
}
}
①查询全部数据
package com.itheima.mapper;
import com.itheima.pojo.Poet;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface PoetMapper {
@Select("select * from poet")
public List<Poet> list();
}
@Autowired
private PoetMapper poetMapper;
@Test
public void testListPoet() {
List<Poet> poetList = poetMapper.list();
poetList.stream().forEach(poet -> {
System.out.println(poet);
});
}
②添加
@Insert("insert into poet(name,gender,dynasty, title,style) values (#{name},#{gender},#{dynasty},#{title},#{style})")
public void insertwriter(Poet poet);
@Test
public void insertwriter() {
Poet writer = new Poet();
writer.setName("高适");
writer.setGender((short)1);
writer.setDynasty("唐代");
writer.setTitle("高岑");
writer.setStyle("边塞风光");
poetMapper.insertwriter(writer);
testListPoet();
}
③删除
@Delete("delete from poet where id= #{id} ")
public void deletewriter(int id);
@Test
public void deletewriter() {
poetMapper.deletewriter(4);
testListPoet();
}
④修改 更新
@Update("update poet set name=#{name} where id=#{id} ")
public int updatewriter(Poet poet);
@Test
public void updatewriter() {
Poet writer = poetMapper.list().get(3);
writer.setName("李煜");
poetMapper.updatewriter(writer);
testListPoet();
}