虽然不简单但还是要学的JavaWeb—MyBatis

MyBatis简介(百度百科):

MyBatis 原名 iBatis 是一款持久层框架,支持定制化框架存储过程高级映射

MyBatis 避免了几乎所有的JDBC代码和手动设置参数以及获取结果集

MyBatis 使用xml配置或注解来进行映射,将实体类中的属性映射为数据库中的字段。

—> 2010年从apache software foundaction 迁移至 google Code改名 MyBatis

—> 2013年11月又迁移到github

—> ibatis(internet+abatis) 是一个基于Java的持久层框架。

—> ibatis提供SQL Maps 和 Data Access Object(sDao)

特点:

—> 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。

—> 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。

—> 解除sql与程序代码的耦合:通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。

—> 提供映射标签,支持对象与数据库的orm字段关系映射

—> 提供对象关系映射标签,支持对象关系组建维护

—> 提供xml标签,支持编写动态sql

MyBatis 配置

sqlMapConfig.xml配置

<configuration>
    //环境(environment),可以有多个,default属性 == id属性
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="" />
                <property name="url" value="" />
                <property name="username" value="" />
                <property name="password" value=" />
            </dataSource>
        </environment>
    </environments>

    //提供映射所在的包和配置(即将数据库的字段逐个映射实体类)
    <mappers>
        <package name="com.mapper"/>
    </mappers>
</configuration>

外部包结构及内容

src
|___com
    |___mapper
        |___mapper.xml
        |___mapper.java

mapper.xml中编辑相关的sql语句,如:

<mapper namespace="对应mapper的接口文件路径">
    //id对应mapper.java中对应的方法名
    <select id="" parameterType="" resoultType="">
        select * from 表名
    </select>
</mapper>

mapper.xml中可以配置的一些顶级元素
cache – 配置给定命名空间的缓存。
cache-ref – 从其他命名空间引用缓存配置。
resultMap – 最复杂,也是最有力量的元素,用来描述如何从数据库结果集中来加载你的对象。
sql – 可以重用的 SQL 块,也可以被其他语句引用。
insert – 映射插入语句
update – 映射更新语句
delete – 映射删除语句
select – 映射查询语句

编写测试方法

public void Test throw Exception{
    //加载核心配置文件 sqlMapConfig.xml
    String resource = "sqlMapConfig.xml";
    InputStream in = Resources.getResourceAsStream(resource);
    //创建SqlSessionFactory
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
    //创建SqlSession
    SqlSession sqlSession = sqlSessionFactory.openSession();
    //SqlSEssion为mapper.java生成一个实现类
    UserMapper userMapper = sqlSession.getMapper(mapper.class);
    //使用userMapper对象调用mapper.java中的方法。
    userMapper.function();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值