码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis入门(一)

时间:2015-12-03 02:21:37      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:mybatis入门

MyBatis是一个持久层框架,不同于hibernate的是,它的sql语句需要手动来写,这样开发起来更加的灵活。

Mybatis的执行过程:

SqlMapConfig.xml----->SqlSessionFactory----->SqlSession---->Executor(执行器)---->Mapped Statement(底层分装对象)------>MySql。

在SqlMapConfig.xml中需要配置具体数据源,并且会加载具体的xxxMapper.xml

<mappers>
        <mapper resource="sqlmap/UserMapper.xml" />

</mappers>

UserMapper.xml如下:

<?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.mapper.UserMapper">
    <!--一个查询过程-->
    <select id="findUserById" parameterType="int" resultType="com.domain.User">
        select * from user where id = #{id}
    </select>

</mapper>

parameterType:输入参数类型

resultType:输出参数类型

#{}:占位符号

${}:拼接符号(容易引起sql注入,不建议使用)。

返回自增id:

<!--useGeneratedKeys="true"表明使用数据库自动生成的主键,
      keyColumn="id"指定Student表中主键列,keyProperty="id"
            表明当插入记录后,会把数据库生成的主键值设置到Student对象
            的id属性中,也就是说,它指定与Student表中的主键列对应的
      Student实体类中的属性是id这个属性-->
    <insert id="add" useGeneratedKeys="true"
     keyColumn="id" keyProperty="id" parameterType="com.domain.User">
        insert into user(name, password, email, age) values(#{name}, #{password}, #{email}, #{age})
    </insert>

注:正在学习,自己做的一些笔记

MyBatis入门(一)

标签:mybatis入门

原文地址:http://9995492.blog.51cto.com/9985492/1719054

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!