MyBatis整合

1.MyBatis的介绍:

MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。MyBatis 可以使用简单的 XML 或注解用于
配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录.

2.如何简单的使用MyBatis: 

第一步:创建一个java工程,导入驱动包和MyBatis包

 

 

 第二步:创建相应的实体类(bean),操作接口(dao),映射文件(mapper.xml)分别放在相对应的包下

 

 

 第三步:创建配置文件和引入日志文件

 

 

 第四步:将配置文件中加入配置代码以及将映射文件引入以及优化

<?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">
<configuration>
<properties resource="db.properties"></properties> 引入db.propertise进行优化
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<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="com/zhiyou/zt/mapper/Usersmapper.xml"/>  <!--【为引入的映射文件】-->
</mappers>
</configuration>

第五步:在映射文件中关联查询

 

 

 

 1:添加配置信息:

<?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="为接口所在地方的名称">
         关联查询
</mapper>

2:映射文件中添加关联查询:当表列名与实体类字段名不相同时,需要在返回类型使用resultMap,然后重新建立一个resultMap标签,进行列名对应,主键用id标签,column属性为表的列名,property属性为对应实体类的字段名,当表的实体类关系为多的那一方时,在实体类中添加一个对应关系为一的那一方的一个对象属性。在resulyMap标签中使用association标签,属性property为实体类的属性名,javaType属性为实体类属性对应的实体类的引用位置,当表实体类关系为一的那一方时,在实体类中添加一个对应关系为多的那一方的一个集合属性,在resultMap中使用collection标签,属性property为实体类的属性名,ofType属性为实体类属性对应的实体类的引用位置。

resultMap
<?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="com.zhiyou.zt.dao.Clazzdao">
    <select id="getClazz" resultMap="Mymap">
        select * from class,teacher,student where class.teacher_id=teacher.t_id and student.class_id=class.c_id and c_id=#{id}
    </select>
    <resultMap type="com.zhiyou.zt.bean.Clazz" id="Mymap">
        <id column="c_id" property="cid"/>
        <result column="c_name" property="cname"/>
        <result column="teacher_id" property="tid"/>
        <association property="teacher" javaType="com.zhiyou.zt.bean.Teacher">
        <id column="t_id" property="tid"/>
        <result column="t_name" property="tname"/>
        </association>
        <collection property="students" ofType="com.zhiyou.zt.bean.Student">
        <id column="s_id" property="sid"/>
        <result column="s_name" property="sname"/>
        <result column="class_id" property="classid"/>
        </collection>
    </resultMap>
</mapper>

 

转载于:https://www.cnblogs.com/1556553526qq-com/p/11439433.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值