框架 mybatis

一、框架

框架( Framework )是构成一类特定软件可复用设计的一组相互协作的类。框架规 定了你的应用的体系结构。 它定义了整体结构,类和对象的分割,各部分的主要责任,类 和对象怎么协作,以及控制流程。框架预定义了这 些设计参数,以便于应用设计者或实现 者能集中精力于应用本身的特定细节。 软件系统发展到今天已经很复杂了,特别是服务器 端软件,涉及到的知识,内容,问题太多。在某些方面使 用别人成熟的框架,就相当于让 别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且 框架一般 是成熟,稳健的,他可以处理系统很多细节问题,比如,事务处理,安全性,数据流控制等 问题。还有 框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不 断升级的,你可以直接享受别人升 级代码带来的好处。

二、ORM:

将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对 数据库的操作转化为对对象的操 作。因此ORM的目的是为了方便开发人员以面向对象的思 想来实现对数据库的操作。

三、JDBC问题:

①、数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库 链接池可 解决此问题。 ②、Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大, sql 变动需要改变 java代码。 ③、使用 preparedStatement 向占有位符号传参数存在硬编码,因为 sql 语句的 where 条件不一定,可能多也可能 少,修改 sql 还 要修改代码,系统不易维护。 ④、对结果集解析存在硬编码(查询列名),sql 变化导致解析代码变化,系统不易维 护,如果能将数据库记录封装成 pojo 对象解析比 较方便,没有实现实体类到数据库记录 的映射。 ⑤、没有提供缓存功能。

四、Mybatis相关介绍

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。 MyBatis 是一款优秀的持久层框架,它支持 SQL、存储过程以及高级映射。 如 JDBC 中 我们需要有繁琐的流程,和设置参数,并且获取结果集的时候也需要循环遍历,并且手动封装 到实体类对 象中 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 它内部封装了 jdbc,使开发者只需要关 注 sql 语句本身, 而不需要花费精力去处理加载驱 动、创建连接、创建 statement 等繁杂的过程。 MyBatis 可以使用 简单的 XML 或注解来 配置和映射 接口和 Java 的 实体类 MyBatis 有两种用法,一个是注解,一个是XML,各有千秋 Mybatis特性:

1、使用连接池对链接进行管理

2、SQL和代码分离,几种管理

3、参数映射和动态SQL

4、结果集映射

5、缓存管理

6、重复SQL的提取

7、插件机制

五、使用场景 :

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

六、Mybatis与Hibernate的区别

形象举例 : mybatis:机械工具,使用方便,拿来就用,但工作还是要自己来作,不过工具是活 的,怎么使用,由我决定。 hibernate:智能机器人,但研发它(学习、熟练度)的成本很高,工作都可以拜托给他 了,但仅限于它能做的事

七、Mybatis入门

第一步: 创建t_user表

第二步: 创建lib文件夹导入相应jar文件 ①log4j ②mysql ③mybatis

第三步: 创建User实体类

第四步: 导入 log4j.properties 、jdbc.propertie文件

第五步: 创建mybatis-config.xml

<configuration>
    <!--指定jdbc数据源信息文件的位置-->
    <properties resource="jdbc.properties" />
    <!--配置对象的别名-->
    <typeAliases>
        <typeAlias type="com.tledu.pojo.User" alias="User"></typeAlias>
    </typeAliases>
    <!--默认是开发环境-->
    <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>

    <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 (#{username},#{password},#{nickname},#{type})
    </insert>

</mapper>

第七步:

创建Mybatis Test

 public static void main(String[] args) throws IOException {
        InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session = sessionFactory.openSession();
        User user = new User();
        user.setUsername("bbb");
        user.setPassword("222");
        user.setNickname("tom");
        user.setType(1);
        session.insert("User.add",user);
        session.commit();
        session.close();
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值