Mybatis学习(配置映射文件和代码编写)

配置映射文件

Mybatis学习(配置映射文件和代码编写)_第1张图片
1.png
SqlMapConfig.xml

配置mybatis的运行环境,数据源、事务等。

Mybatis学习(配置映射文件和代码编写)_第2张图片
2.png
根据用户id(主键)查询用户信息
  1. 创建po类


    Mybatis学习(配置映射文件和代码编写)_第3张图片
    3.png
  2. 映射文件
    映射文件命名:
    User.xml(原始ibatis命名),mapper代理开发映射文件名称叫XXXMapper.xml,比如:UserMapper.xml、ItemsMapper.xml
    在映射文件中配置sql语句。


    Mybatis学习(配置映射文件和代码编写)_第4张图片
    4.png
  3. 在SqlMapConfig.xml加载映射文件
    在sqlMapConfig.xml中加载User.xml:


    5.png
  4. 程序编写


    Mybatis学习(配置映射文件和代码编写)_第5张图片
    6.png
根据用户名称模糊查询用户信息
  1. 映射文件
    使用User.xml,添加根据用户名称模糊查询用户信息的sql语句。


    Mybatis学习(配置映射文件和代码编写)_第6张图片
    7.png
  2. 程序代码


    Mybatis学习(配置映射文件和代码编写)_第7张图片
    8.png
添加用户
  1. 映射文件
    在 User.xml中配置添加用户的Statement


    9.png
  2. 程序代码


    Mybatis学习(配置映射文件和代码编写)_第8张图片
    10.png
  3. 自增主键返回
    mysql自增主键,执行insert提交之前自动生成一个自增主键。
    通过mysql函数获取到刚插入记录的自增主键:
    LAST_INSERT_ID()
    是insert之后调用此函数。
    修改insertUser定义:


    Mybatis学习(配置映射文件和代码编写)_第9张图片
    1.png
  4. 非自增主键返回(使用uuid())
    使用mysql的uuid()函数生成主键,需要修改表中id字段类型为string,长度设置成35位。
    执行思路:
    先通过uuid()查询到主键,将主键输入 到sql语句中。
    执行uuid()语句顺序相对于insert语句之前执行
Mybatis学习(配置映射文件和代码编写)_第10张图片
2.png

通过oracle的序列生成主键:


            SELECT 序列名.nextval()

insert into user(id,username,birthday,sex,address) value(#{id},#{username},#{birthday},#{sex},#{address})
删除用户
  1. 映射文件


    Mybatis学习(配置映射文件和代码编写)_第11张图片
    3.png
  2. 代码


    Mybatis学习(配置映射文件和代码编写)_第12张图片
    4.png
更新用户
  1. 映射文件


    Mybatis学习(配置映射文件和代码编写)_第13张图片
    5.png
  2. 代码


    Mybatis学习(配置映射文件和代码编写)_第14张图片
    6.png

附加

mybatis和hibernate本质区别和应用场景

hibernate:是一个标准ORM框架(对象关系映射)。入门门槛较高的,不需要程序写sql,sql语句自动生成了。
对sql语句进行优化、修改比较困难的。
应用场景:
适用与需求变化不多的中小型项目,比如:后台管理系统,erp、orm、oa。。

mybatis:专注是sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。mybatis是一个不完全 的ORM框架,虽然程序员自己写sql,mybatis 也可以实现映射(输入映射、输出映射)。
应用场景:
适用与需求变化较多的项目,比如:互联网项目。

你可能感兴趣的:(Mybatis学习(配置映射文件和代码编写))