Mybatis框架-mapper三种方式

一、ORM

将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对数据库的操作转化为对对象的操作。

二、Mybatis相关介绍

Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
内部封装了jdbc,使开发者只需关注sql语句本身,不必花费时间经历加载驱动、链接、statement等繁琐过程。
Mybatis可以使用简单的XML或注解来配置和映射接口和Java的实体类。

2.1 特性

1、使用连接池对链接进行管理 2、SQL和代码分离,几种管理 3、参数映射和动态SQL
4、结果集映射 5、缓存管理 6、重复SQL的提取 7、插件机制

2.2 使用场景

操作持久化层(Dao),和JDBC一样,操作数据库的 当我们要写动态页面(jsp)和用户进 行交互的时候,就需要操作数据库。

三、Mybatis入门

第一步:
创建一个java项目 ——> 创建lib文件夹 ——> 指定lib为我们使用jar包的路径(buildpath)
第二步:
导入相应的jar包 1、log4j(日志) 2、mysql(链接数据库) 3、mybatis(Mybatis框架的依赖)
第三步:
导入配置文件
1、log4j.properties 用来控制管理我们的日志以什么形式什么级别打印在什么地方 (直接拷贝)
2、jdbc.properties 用来存放数据库连接的基本信息 driver url username password
3、mybatis-config.xml Mybatis的核心配置文件
第四步:
创建mybatis-config.xml

  <configuration>  
  <!‐‐获取jdbc数据源文件‐‐>   
  <properties resource="jdbc.properties" />   
  <environments default="development">  
  <environment id="development">  
  <!‐‐使用jbdc的事务‐‐>  
  <transactionManager type="JDBC" />  
  <!‐‐使用数据库连接池‐‐>  
  <dataSource type="POOLED">  
  <property name="driver" value="${driver}"/>  
  <property name="url" value="${url}"/>   
  <property name="username" value="${username}"/>   
  <property name="password" value="${password}"/>  
  </dataSource>   
  </environment>   
  </environments>   
  <!‐‐mapper映射‐‐>   
  <mappers>   
  <mapper resource="com/tledu/mapper/UserMapper.xml">
  </mapper>   
  </mappers>  
  <configuration>

第五步:
创建UserMapper.xml

<!‐ 当前mapper文件的唯一标识 ‐‐> 
<mapper namespace="User">
<!‐ id: sql唯一标识 parameterType: 传入的数据类型 ‐‐> 
 <insert id="add" parameterType="User" > 
 insert into t_user (username,password,nickname,type) values (#{usernam e},#{password},#{nickname},#{type})  
 </insert>
 </mapper> 

第六步:
创建MybatisTest测试类

  public class MybatisTest { 
  public static void main(String[] args) throws IOException {  
  //以流方式加载mybatis‐config.xml文件放入输入流中 
  InputStream inputStream = Resources.getResourceAsStream("mybatis‐config. xml");  
  //解析流中的数据获取sessionFactory 对象   
  SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build (inputStream);  			                                 //开始Session  
  SqlSession session = sessionFactory.openSession();  
  User user = new User();  
   user.setUsername("bbb");   
   user.setPassword("222");  
   user.setNickname("tom");   
   user.setType(1);  
   //调用session中insert方法添加user对象中的值给sql,拼接sql并执行
 	session.insert("User.add",user);   
   //提交事务   
   session.commit();  
   //关流   
   session.close();      
   } 
    

5、mybatis使用mapper的三种方式
① session 入门案例
② 接口代理 (常用)
1、需要创建一个UserMapper接口
2、创建UserMapper.xml 注意:namespace=“接口的全类名”
3、在mybatis-config.xml配置文件中添加相应的映射
< mappers>
< mapper class=“com.tledu.mapper.UserMapper”/> //映射接口全类名
< /mappers>
4、测试
session.getMapper(UserMapper.class).add(user);
③ 注解(不常用)
1、创建一个UserMapper接口
@insert(" insert into t_user(username,password) values(#{username},#{password}); ")
void add(User user);
2、在mybatis-config.xml配置文件中添加对这个接口的映射
< mappers>
< mapper class=“com.tledu.mapper.UserMapper”/> //映射接口全类名
< /mappers>
3、session.getMapper(UserMapper.class).add(user);
//session.insert(“com.tledu.mapper.UserMapper.add”,user);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值