使用mybatis步骤和注意事项

来源:互联网 发布:天下3捏脸数据女萝莉 编辑:程序博客网 时间:2024/06/01 09:26

1创建一个java项目,创建一个config目录放置配置文件,创建lib文件放置架包:导入架包



2,创建全局配置文件SqlMapConfig.xml和局部映射文件user.xml放在config目录下

3:在SqlMapConfig.xml中配置环境,环境中包含了事物管理和数据源


4:创建实体类pojo属性和数据库的字段对应


5:在user.xml中配置命名空间可以任意名字,配置查询和删除,修改,添加的sql,根据不同的sql需传入的参类型parameterType,返回值类型resultType


6:创建测试类

7:注意的事项传递参数如果是基本数据类型如:intrger和String,mybatis提供了2种格式的传参:

${}是sql中的连接符,所传的参数保持原类型,${value}中只能写value,并且${value}存在sql注入隐患,所有要少用,一般使用在排序时动态获取排序名.

#{}=?是表示一个站位符,所传的参数会进行包装.相对${},他可以使用在简单类型和包装类型中(javaBean),包装类型可以将所传的多个参数封装

在javaBean中避免只能传一个参数的尴尬

8:在添加行数据,mybatis提供了返回添加行的id的配置具体如下

<insert id="insertusergetid" parameterType="com.wenchen.pojo.User">
<!-- 查询主键在插入之后执行的,keyProperty传入的参数,是由com.wenchen.pojo.User提供,resultType="int"返回值类型

order="AFTER"表示在insert之后执行默认是BEFORE之前执行 -->
<!-- 以下配置可以得到插入后这一行的id -->
<selectKey keyProperty="id" resultType="int" order="AFTER">
   SELECT LAST_INSERT_ID();
</selectKey>

insert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address});
</insert>


9:还可以得到UUID的配置

<insert id="insertusergetuuid" parameterType="com.wenchen.pojo.User">
<!-- 查询主键在插入之后执行的,keyProperty传入的参数,是由com.wenchen.pojo.User提供,resultType="int"返回值类型

order="AFTER"表示在insert之后执行默认是BEFORE之前执行 -->
<!-- 以下配置可以得到插入后这一行的id -->
<selectKey keyProperty="id" resultType="String" order="BEFORE">
   SELECT UUiD();
</selectKey>

insert into user(id,username,birthday,sex,address) values(#{id},#{username},#{birthday},#{sex},#{address});
</insert>

10:以上只是简单的单配置使用mybatis框架进行简单的运用.作为复习和练习的参考