您的位置:首页 > 其它

mybatis练习过程中发现需要注意的几点

2017-08-30 00:02 190 查看
1.像类似于<namespace>这些标签,或resource或者name之类的 其中namespace,resource 要写路径名,即com/czp/dao/***,name就写com.czp.dao.***的形式

2.在mapper.xml的配置中,<environments> 的default属性的值一定要在<environment >的id中取得

<environments default="myEM">
<environment id="myEM">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="UNPOOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///db"/>
<property name="username" value=" "/>
<property name="password" value=" "/>
</dataSource>
</environment>
</environments>
3.若数据库是在本机器中,则可以将url写成jdbc:mysql:///db 的形式

4.采用接口式编程时,参数类型如果是实体类,则可以省略不写

5.在Mybatis中采用下面这种形式获得刚刚插入的id,order="AFTER"表示先执行insert再执行查询id。

<insert id="insertStudent"  parameterType="Student">
insert into student(username,password,sex) values(#{username},#{password},#{sex})
<selectKey keyProperty="id" resultType="int" order="AFTER">
select @@identity
</selectKey>
</insert>
6.增删改都要手动提交事物并要及时关闭sqlSession。

7.模糊查询时,  '%' /#{..} /'%'之间有空格!!!!即'%'  #{..}  '%',而不能 '%'#{..}'%'

8.#{}中可以放什么内容?
1).参数对象的属性

2).任意内容,此时#{}是个占位符

3).参数为map时的key

4).参数为map时,若key所对应的value为对象,则可将该对象的属性放入( key.属性 )

5).参数的索引号

9.一对多和多对一关联查询各有两种方案:多表连接查询、多表单独查询,但常使用多表单独查询,因为可以延迟加载。

10.一对多 配置多方的resultMap时 <collection>标签的<property> 写的是属性名 对象类型写的是ofType

     多对一  <association>标签的对象类型要写 javaType
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: