MyBatis_入门程序

来源:互联网 发布:开机自动运行软件 编辑:程序博客网 时间:2024/05/20 22:41

1 需求

根据用户id查询用户信息
根据用户名称模糊查询用户信息
添加用户信息
删除用户
更新用户

2 环境

java环境:jdk1.7.0_72
eclipse: indio
mysql: 5.1
mybatis运行环境(jar包):

从https://github.com/mybatis/mybatis-3/releases下载,3.2.7版本


lib下:依赖包

mybatis-3.2.7.jar:核心 包

mybatis-3.2.7.pdf,操作指南

 

加入mysql的驱动包


3 log4j.properties


4 工程结构


5 SqlMapConfig.xml

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

6 根据用户id查询用户信息

6.1 创建bean类


6.2 映射文件

映射文件名:
mapper代理开发映射文件名称叫 XXXMapper.xml,比如UserMapper.xml ItemsMapper.xml
在映射文件中配置sql语句:

6.3 在SqlMapperConfig.xml加载映射文件

在sqlMapperConfig.xml中加载User.xml

6.4 程序编写

7 根据用户名称模糊查询用户信息

7.1 映射文件

使用User.xml,添加根据用户名称模糊查询用户信息的sql语句

7.2 程序代码


8 添加用户

8.1 映射文件

在User.xml中配置添加用户的Statement

8.2 程序代码


9 删除用户

9.1 映射文件


9.2 程序代码



10 更新用户

10.1 映射文件


10.2 程序代码


11 总结

11.1 parameterType

在映射文件中通过parameterType指定输入参数类型

11.2 resultType

在映射文件中通过resultType指定输出结果的类型

11.3 #{} 和 ${}区别

#{}表示一个占位符号,#{}接收输入参数,类型可以是简单类型,pojohashmap

如果接收简单类型,#{}中可以写成value或其它名称。

#{}接收pojo对象值,通过OGNL读取对象中的属性值,通过属性.属性.属性...的方式获取对象属性值。

 

${}表示一个拼接符号,会引起sql注入,所以不建议使用${}

${}接收输入参数,类型可以是简单类型,pojohashmap

如果接收简单类型,${}中只能写成value

${}接收pojo对象值,通过OGNL读取对象中的属性值,通过属性.属性.属性...的方式获取对象属性值。


11.4 selectOne 和 selectList


selectOne表示查询出一条记录进行映射。如果使用selectOne可以实现使用selectList也可以实现(list中只有一个对象)。

  selectList表示查询出一个列表(多条记录)进行映射。如果使用selectList查询多条记录,不能使用selectOne

  如果使用selectOne报错:

org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 4


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

hibernate:是一个标准ORM框架(对象关系映射)。入门门槛较高的,不需要程序写sqlsql语句自动生成了。

sql语句进行优化、修改比较困难的。

应用场景:

适用与需求变化不多的中小型项目,比如:后台管理系统,erpormoa。。

 

mybatis:专注是sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。mybatis是一个不完全 的ORM框架,虽然程序员自己写sqlmybatis 也可以实现映射(输入映射、输出映射)。

应用场景:

适用与需求变化较多的项目,比如:互联网项目。

 

企业进行技术选型,以低成本 高回报作为技术选型的原则,根据项目组的技术力量进行选择。







注:摘自传智播客
如需视频,留言发链接

0 0
原创粉丝点击