mybatis传入实体类类型的参数
mybatis传入各种类型参数系列之 让我们传入实体类参数,什么是实体类呢,也就是对象,pojo, model,entities。 它有很多种叫法,不知道有没有你中意的那一种。mybatis虐我千百遍,我待mybatis肯定像初恋,
引发的思考, 实体类类型有属性类型。话不多说,见下文。
目录
2.mapper映射文件部分
3.测试类部分
4.执行测试本次结果
4.1单元测试结果
4.2mysql查询验证
5.POJO User实体类对象展示
6.结论
1.接口部分(如何写接口)
注意,这里新建用户的方式返回int或者void都是可以的,不一定需要int
/** * 添加用户信息 */ int user(User user);
2.mapper映射文件部分
注意,自增的ID设置为null
insert into t_user values(null, #{username}, #{password}, #{age}, #{sex}, #{email})
3.测试类部分
@Test public void testInsertUser() { SqlSession sqlSession = SqlSessionUtils.getSqlSession(); ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class); int result = mapper.insertUser(new User(null, "李四", "123", 23,"男", "123@qq.com")); System.out.println(result); }
4.执行测试本次结果
4.1单元测试结果
4.2mysql查询验证
新建用户成功。
5.POJO User实体类对象展示
package com.mybatis.pojo;import java.util.Objects;public class User { private Integer id; private String username; private String password; private int age; private String sex; private String email; public User(Integer id, String username, String password, int age, String sex, String email) { this.id = id; this.username = username; this.password = password; this.age = age; this.sex = sex; this.email = email; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + ", age=" + age + ", sex='" + sex + '\'' + ", email='" + email + '\'' + '}'; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } User user = (User) o; return id == user.id && age == user.age && username.equals(user.username) && password.equals(user.password) && sex.equals(user.sex) && email.equals(user.email); } @Override public int hashCode() { return Objects.hash(id, username, password, age, sex, email); }}
6.结论
所以我们的结论是,直接通过属性名来访问属性值。