<?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">
<mapper namespace="dao.UserDao">
<resultMap id="userMap" type="entity.User">
<id column="u_id" property="uid"></id>
<result column="u_name" property="uname"></result>
<result column="u_password" property="upassword"></result>
<result column="u_email" property="uemail"></result>
<result column="u_sex" property="usex"></result>
<result column="u_status" property="ustatus"></result>
<result column="u_code" property="ucode"></result>
<result column="u_role" property="urole"></result>
<!-- collection 一对多:1.property:里面的多的那方的集合orders private List<Orders> orders;
2.ofType:property里面那个集合里包含的对象的类型:entity.Orders(在没有使用别名的时候用包名.类名)
-->
<collection property="orders" ofType="entity.Orders">
<id column="o_id" property="oid"></id>
<result column="o_name" property="oname"></result>
<!-- association 一对多:1. property:里面一的那个的对象user private User user;
2. javaType:property里面对象的类型:entity.User
-->
<association property="user" javaType="entity.User">
<id column="u_id" property="uid"></id>
<result column="u_name" property="uname"></result>
<result column="u_password" property="upassword"></result>
<result column="u_email" property="uemail"></result>
<result column="u_sex" property="usex"></result>
<result column="u_status" property="ustatus"></result>
<result column="u_code" property="ucode"></result>
<result column="u_role" property="urole"></result>
</association>
</collection>
</resultMap>
<select id="getUserById" resultMap="userMap">
SELECT u.*,o.* FROM USER u LEFT JOIN orders o ON u.u_id=o.u_id WHERE u.u_id=#{id};
</select>
</mapper>
import dao.UserDao;
import entity.User;
import utils.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
/**
* zt
* 2020/9/27
* 20:46
*/
public class Test002 {
@Test
public void testGetUserById(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
User userById = mapper.getUserById(1);
System.out.println(userById);
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--mybatis-3-config.dtd xml的约束-->
<configuration>
<properties resource="dbinfo.properties"></properties>
<settings>
<!--配置mybatis底层处理打印日志-->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<!--连库环境-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!--
指定映射文件
-->
<mappers>
<mapper resource="mapper/ProductMapper.xml"></mapper>
<mapper resource="mapper/ProductDetailMapper.xml"></mapper>
<mapper resource="mapper/OrdersMapper.xml"></mapper>
<mapper resource="mapper/GuaMapper.xml"></mapper>
<mapper resource="mapper/UserMapper.xml"></mapper>
</mappers>
</configuration>