Mybatis(7):将传参封装为Map进行传递

网友投稿 750 2022-10-15

Mybatis(7):将传参封装为Map进行传递

Mybatis(7):将传参封装为Map进行传递

四部曲:

1.写接口  +  2.写映射sql  + 3.把mapper注册到mybatis的配置文件  + 4.写单元测试和运行

(1)首先新建一个User.java文件,作为这次的实体类,注意一定要有setter方法(mybatis通过setter访问器进行读取):

package com.smbms.entities;import java.util.Date;import java.util.List;public class User { private Integer id; private String userCode; private String userName; private String userPassword; private Integer gender; private Date birthday; private String phone; private String address ; private Integer userRole; private Integer createdBy; private Date creationDate; private Integer modifyBy; private Date modifyDate; private String userRoleName; private Role role; private List

addressList; public List
getAddressList() { return addressList; } public void setAddressList(List
addressList) { this.addressList = addressList; } public Role getRole() { return role; } public void setRole(Role role) { this.role = role; } public String getUserRoleName() { return userRoleName; } public void setUserRoleName(String userRoleName) { this.userRoleName = userRoleName; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUserCode() { return userCode; } public void setUserCode(String userCode) { this.userCode = userCode; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPassword() { return userPassword; } public void setUserPassword(String userPassword) { this.userPassword = userPassword; } public Integer getGender() { return gender; } public void setGender(Integer gender) { this.gender = gender; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public Integer getUserRole() { return userRole; } public void setUserRole(Integer userRole) { this.userRole = userRole; } public Integer getCreatedBy() { return createdBy; } public void setCreatedBy(Integer createdBy) { this.createdBy = createdBy; } public Date getCreationDate() { return creationDate; } public void setCreationDate(Date creationDate) { this.creationDate = creationDate; } public Integer getModifyBy() { return modifyBy; } public void setModifyBy(Integer modifyBy) { this.modifyBy = modifyBy; } public Date getModifyDate() { return modifyDate; } public void setModifyDate(Date modifyDate) { this.modifyDate = modifyDate; } public User(Integer id, String userCode, String userName, String userPassword, Integer gender, Date birthday, String phone, String address, Integer userRole, Integer createdBy, Date creationDate, Integer modifyBy, Date modifyDate) { super(); this.id = id; this.userCode = userCode; this.userName = userName; this.userPassword = userPassword; this.gender = gender; this.birthday = birthday; this.phone = phone; this.address = address; this.userRole = userRole; this.createdBy = createdBy; this.creationDate = creationDate; this.modifyBy = modifyBy; this.modifyDate = modifyDate; } public User() { super(); // TODO 自动生成的构造函数存根 } @Override public String toString() { return "User [id=" + id + ", userCode=" + userCode + ", userName=" + userName + ", userPassword=" + userPassword + ", gender=" + gender + ", birthday=" + birthday + ", phone=" + phone + ", address=" + address + ", userRole=" + userRole + ", createdBy=" + createdBy + ", creationDate=" + creationDate + ", modifyBy=" + modifyBy + ", modifyDate=" + modifyDate + "]"; } }

(2)写接口方法:

package com.smbms.dao;import java.util.List;import java.util.Map;import org.apache.ibatis.annotations.Param;import com.smbms.entities.User;public interface UserMapper { public List getUserListByMap(Map userMap);}

(3)定义映射文件的sql:

(4)在全局配置文件中注册:

(5)编写单元测试:

package com.smbms.entities;import java.io.IOException;import java.io.InputStream;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Test;import com.smbms.dao.ProviderMapper;import com.smbms.dao.UserMapper;public class UserTest { public SqlSession getSqlSession() throws IOException{ String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory build = new SqlSessionFactoryBuilder().build(inputStream); SqlSession openSession = build.openSession(); return openSession; } //多条件查询--Map @Test public void test05 () throws IOException { Map userMap = new HashMap(); userMap.put("uName","mmb"); userMap.put("uRole","110"); SqlSession session = getSqlSession(); UserMapper mapper = session.getMapper(UserMapper.class); List userlist = mapper.getUserListByMap(userMap); for(User user1 : userlist){ System.out.println("**"+user1.toString()); } }}

综上,就是一个将传参封装为Map进行传递的Spring Demo。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Melody- Go 的 WebSocket 框架
下一篇:API-Swoole开发框架.
相关文章

 发表评论

暂时没有评论,来抢沙发吧~