关于mybatis的配置问题

实体类

注意事项:

1.实体类各属性名需要与数据库中表的属性名一致,否则在取得数据的时候会得到null(若属性名与表的字段名不一致,可以在该实体类对应的dao层配置文件中使用resultMap配置,这样属性名与字段名不一致也能读取)

property是实体类的属性,column是字段名

如:

 <resultMap id="bookMap" type="pers.zwy.ls.domain.Book">
        <id property="id" column="id"></id>
        <result property="nickname" column="name"></result>
</resultMap>

2.实体类中的一对一关系使用association标签

此处lend实体与user和book实体都是一对一关系

如:

 <resultMap id="lendMap" type="pers.zwy.ls.domain.Lend">
        <!--省略其他配置-->
        ...
        <association property="user" javaType="pers.zwy.ls.domain.User" select="pers.zwy.ls.dao.UserDao.findById" column="uid"></association>
         <association property="book" javaType="pers.zwy.ls.domain.Book" select="pers.zwy.ls.dao.BookDao.findById" column="bid"></association>
    </resultMap>

3.实体类中的一对多关系使用collection标签

此处User和Lend是一对多关系

<resultMap id="userMap" type="pers.zwy.ls.domain.User">
        <id property="id" column="id"></id>
        <!--省略其他配置-->
        <collection property="lends" ofType="pers.zwy.ls.domain.Lend" select="pers.zwy.ls.dao.LendDao.findByUid"
                    column="id"></collection>
    </resultMap>

实体类的Mapper配置文件

1.mapper.xml名称需要与dao类名称一致(规范)(其实xml的名字是什么都能用,只要namespace指向的dao类是正确的并且sqlMapConfig.xml的mappers中指定了这个xml文件)

2.mapper.xml的namespace里面应该是该实体类对应的DAO(数据访问对象)类的包名

3.该配置文件内的select,update,delete,insert标签内写sql语句

4.resultType是指实体类(不需要查询其他属性,实体类属性都是表的字段对应的数据)

5.resultMap是指实体类(可以将与该实体类具有关联关系的其他实体类查询并封装到该实体类中)

mybaties的配置文件SqlMapConfig.xml

1.SqlMapConfig.xml文件内,需要配置数据库连接池

2.SqlMapConfig文件内,需要在<mappers>标签内配置用到的mapper.xml

3.若与spring整合,Spring接管mybatis,SqlMapconfig中不需要有其他配置。spring的配置中会将mybatis的配置加上.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值