浅谈Mybatis

浅谈MyBatis

#1、是什么

Mybatis是为了简化JDBC封装用的

2、能干什么

数据库持久层,把数据写入数据库的DAO

3、怎么干
我们举例使用SSM框架来说明Mybatis是如何操作将数据写入到数据库的并操作数据库数据的

=====================================================
1、环境准备
创建一个maven项目SSM
修改pom文件,添加必要的依赖
新增配置文件共两个,主配置文件和数据连接信息配置文件mybatis-config.xml和jdbc.properties
在java文件目录下添加包com.xxx
在包下添加子包,分别有entity、controller、service、mapper、manager

2、创建的项目名称为SSM,环境变量JDK是1.8版本的
修改POM文件,添加的主要依赖有两个一个是mybatis的,另一个是mysql数据库连接用的

org.mybatis
mybatis
3.5.1


mysql
mysql-connector-java
5.1.36

需要测试,所以在在上测试依赖

junit
junit
4.12
test

3、编写dao接口,在mapper包下创建接口类,如:OrderMapper.java ;编写实现方法,增删改查
查询方法:public order findOrder(int id);
编写entity实体类,在entity包下创建实体类Order,对应数据库Order表,编写实体属性构造get/set方法,tostring方法;

4、在resources目录下创建文件夹mapper,mapper创建cn,cn下创建kungfu,kungfu下创建xml文件OrderMapper.xml;xml文件的名称最好是对应的数据库表名称加上mapper,这样可以快速理解xml操作的是哪张数据库表;

5、编写xml文件,添加标签,其中添加属性namespace告诉程序该xml对应的是java目录下哪个接口,namespace的值是java目录下对应接口的相对路径名称com.ssm.mapper.OrderMapper

在mapper中添加查询标签,每个标签中都有相应的标签属性,如查询标签中的 id(对应接口类中具体的方法名称)resultType(返回值类型)、parameterType(参数类型),当SQL 中有参数需要传输时使用#{参数名};具体的Mybatis的xml语法可以参考如下:

<?xml version="1.0" encoding="UTF-8" ?> select count(*) from t_user insert into t_user(name,nickname,age) values(#{name},#{nickname},#{age}) update t_user set name=#{name},nickname=#{nickname},age=#{age} where Id = #{Id} delete from t_user where id = #{Id} delete from t_user where id = #{Id} select * from t_user where id = #{Id} select * from t_user select * from t_user where `name` like concat('%',#{name},'%') select * from t_user where `name` = #{name} and nickname = #{nickname} select * from t_user where `name` = #{name} and nickname = #{nickname} select * from t_user order by ${colname}

6、编写好xml后就可以测试了
编写测试类TestOrder
其中可以把获取配置文件信息的方法写成一个工具类,创建数据库连接也可以
7、编写读取配置文件类
我们定义个工具类MybatisUtil.java
1、先new 一个sqlSessionFactoryBuilder(),得到对象builder
2、获取我们的sqlSessionFactory ,要用Builder.上我们的builder()方法,通过流的形式传一个in的参数
InputStream in = Resources.getResourcesAsStream(”mybatis-config.xml“)
3、这是的builder.build(in)得到的返回值对象就是sqlSessionFactory factory
4、得到对象sqlSessionFactory factory对象后,根据流程就需要得到sqlSession
5、factory.openSession()就可以打开sqlSession
6、得到sqlSession后就可以执行SQL语句了

附上一些常用的Mybatis数据库操作语句:

<?xml version="1.0" encoding="UTF-8" ?> select count(*) from t_user insert into t_user(name,nickname,age) values(#{name},#{nickname},#{age}) update t_user set name=#{name},nickname=#{nickname},age=#{age} where Id = #{Id} delete from t_user where id = #{Id} delete from t_user where id = #{Id} select * from t_user where id = #{Id} select * from t_user select * from t_user where `name` like concat('%',#{name},'%') select * from t_user where `name` = #{name} and nickname = #{nickname} select * from t_user where `name` = #{name} and nickname = #{nickname} select * from t_user order by ${colname}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值