方式1
查询语句中----起别名
User实体类
/**
*@ClassName User
*@Description TODO
*@Author Yin.Liu8
*@Date 2021/3/1 10:43
*@Version 1.0
*/
public class User {
private Integer uesrId;
private String userName;
private Date userBirthday;
private String userSex;
private String userAddress;
public Integer getUesrId() {
return uesrId;
}
public void setUesrId(Integer uesrId) {
this.uesrId = uesrId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Date getUserBirthday() {
return userBirthday;
}
public void setUserBirthday(Date userBirthday) {
this.userBirthday = userBirthday;
}
public String getUserSex() {
return userSex;
}
public void setUserSex(String userSex) {
this.userSex = userSex;
}
public String getUserAddress() {
return userAddress;
}
public void setUserAddress(String userAddress) {
this.userAddress = userAddress;
}
@Override
public String toString() {
return "User{" +
"uesrId=" + uesrId +
", userName='" + userName + '\'' +
", userBirthday=" + userBirthday +
", userSex='" + userSex + '\'' +
", userAddress='" + userAddress + '\'' +
'}';
}
}
DAO
/**
* Description:用户的持久层接口
* <p>
* ClassName: IUserDAO
* date: 2021/3/1 10:47
*
* @author Yin.Liu
* @version 1.0
* @since JDK 1.8
*/
public interface IUserDAO {
/**
* 查询所有操作
* @return
*/
List<User> findAll();
}
mapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace必须是dao接口的全限定类名-->
<mapper namespace="xyz.zhouzhousag.dao.IUserDAO">
<select id="findAll" resultType="xyz.zhouzhousag.domain.User">
select
id uesrId,
username userName,
birthday userBirthday,
sex userSex,
address userAddress
from user
</select>
</mapper>
测试类
/**
*@ClassName MybatisTest
*@Description TODO
*@Author Yin.Liu8
*@Date 2021/3/1 11:25
*@Version 1.0
*/
public class MybatisTest {
private InputStream in;
private SqlSession sqlSession;
private IUserDAO userDAO;
@Before //用于测试方法之前使用
public void init() throws Exception {
//1.读取配置文件
in = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.创建SqlSessionFactory工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//3.使用工厂生产 SqlSession对象
sqlSession = factory.openSession();
//4.使用SqlSession创建DAO接口的代理对象
userDAO = sqlSession.getMapper(IUserDAO.class);
}
@After //用于测试方法之后
public void destroy() throws Exception {
//提交事务
sqlSession.commit();
//6.释放资源
sqlSession.close();
in.close();
}
@Test
public void mybatisTest() throws Exception {
userDAO = sqlSession.getMapper(IUserDAO.class);
//5.使用代理对象执行方法
List<User> all = userDAO.findAll();
for (User user:all) {
System.out.println(user.toString());
}
}
}
结果展示
User{uesrId=41, userName='老王', userBirthday=Tue Feb 27 17:47:08 CST 2018, userSex='男', userAddress='北京'}
User{uesrId=42, userName='小二王', userBirthday=Fri Mar 02 15:09:37 CST 2018, userSex='女', userAddress='北京金燕龙'}
User{uesrId=43, userName='小二王', userBirthday=Sun Mar 04 11:34:34 CST 2018, userSex='女', userAddress='北京金燕龙'}
User{uesrId=45, userName='传智播客', userBirthday=Sun Mar 04 12:04:06 CST 2018, userSex='男', userAddress='北京金燕龙'}
User{uesrId=46, userName='老王', userBirthday=Wed Mar 07 17:37:26 CST 2018, userSex='男', userAddress='北京'}
User{uesrId=48, userName='小马宝莉', userBirthday=Thu Mar 08 11:44:00 CST 2018, userSex='女', userAddress='北京修正'}
User{uesrId=52, userName='sag', userBirthday=Mon Mar 01 22:04:44 CST 2021, userSex='男', userAddress='山西'}
方式2
配置方式
mapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace必须是dao接口的全限定类名-->
<mapper namespace="xyz.zhouzhousag.dao.IUserDAO">
<!--配置查询结果的列名和实体类的属性名-->
<!--id:唯一标志 type:查询对应的实体类 -->
<resultMap id="userMap" type="xyz.zhouzhousag.domain.User">
<!--主键字段的对应-->
<id property="uesrId" column="id"></id>
<!--非主键字段的对应-->
<result property="userName" column="username"></result>
<result property="userBirthday" column="birthday"></result>
<result property="userSex" column="sex"></result>
<result property="userAddress" column="address"></result>
</resultMap>
<select id="findAll" resultMap="userMap">
select
id ,
username ,
birthday ,
sex ,
address
from user
</select>
</mapper>
其他文件不改变