开发者社区> ycy蓝码> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

mybatis学习教程(一)JDBC到mybatis

简介:      定义: 写作时间:2015年8月27日11:15:50 mybatis是一个java持久层框架,java中操作关系型 数据库用的是jdbc,mybatis是对jdbc的一个封装。
+关注继续查看

     定义:

写作时间:2015年8月27日11:15:50

mybatis是一个java持久层框架,java中操作关系型 数据库用的是jdbcmybatis是对jdbc的一个封装。本次从基础讲mybatis的前面回顾,从理论结合实例讲解。本文目前是最新的基于maven的mybatis的教程,是自己学习回顾。

  

1、 开发环境

jdk1.7.0_79

idea:intellij_14.1.4

mysqlmysql5.6

2、为什么有Mybatis-jdbc编程中问题

据库用的是jdbcmybatis是对jdbc的一个封装。本次从基础讲mybatis的前面回顾,从理论结合实例讲解。我们先看看jdbc

import java.sql.*;

/**
 * Created by Administrator on 2015/8/27 0027.
 */
public class JdbcTest {

    public static void main(String[] args) {

        Connection connection=null;
        PreparedStatement preparedStatement=null;
        ResultSet resultSet=null;
        try {
            //隐射驱动
            Class.forName("com.mysql.jdbc.Driver");
            connection=      DriverManager.getConnection("jdbc:mysql://localhost:3306/shiro?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull", "root","123456");
            String sql="SELECT  * FROM user where username=?";
            preparedStatement=connection.prepareStatement(sql);
            System.out.println(preparedStatement);
            preparedStatement.setString(1,"王五");
            resultSet=preparedStatement.executeQuery();
            while(resultSet.next()){
                System.out.println(resultSet.getString("username")); ;
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if(resultSet!=null){
                    resultSet.close();
                }
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
1、jdbc需要频繁链接
  解决方案设想:建立数据连接池
2、sql语句是硬编码
  解决方案设想:将sql统一配置
3、preparedStatement占位符硬编码
  解决方案设想:sql占位符配置在文件中
4、遍历结果集硬编码
  解决方案设想:java对象遍历

3、mybatis架构(重点)

   MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。 目前mybatis在github上托管。

     MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。


4、mybatis入门程序(Jar)

4.1导入jar包

mybatis在github上托管,可以去上面下载jar包(地址:https://github.com/mybatis/mybatis-3/releases),由于但是用的maven就直接贴出来配置。

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <!--数据库驱动-->
    <dependency>
      <groupId>Mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.30</version>
    </dependency>
    <!--mybatis包-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.3.0</version>
    </dependency>
  <!--log4j官方推荐jar-->
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.3</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.3</version>
      </dependency>
  </dependencies>
以上jar包,关于log4j,我会另外讲一下,请参考log4j专题

由于篇幅关系,下一章进入入门程序

如有疑问:qq群:78275755(目前木有人,来啦更好)
本项目1-5章 初级教程 项目百度分享盘:
http://pan.baidu.com/s/1o63SUaI

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
6.1 Spring Boot集成mybatis
6.1 Spring Boot集成mybatis 在SpringBoot集成MyBatis时,我们将去掉和Mybatis配置相关的xml文件配置方式,用注解和属性配置来代替这些繁杂的配置。
725 0
Spring+SpringMVC +MyBatis整合配置文件案例
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26654727/article/details/70161145 Sprin...
887 0
Spring Boot集成Mybatis
背景 Spring Boot集成Mybatis的配置方式有很多种,可以使用mybatis-spring-boot-starter、注解方式、传统集成方式等。
931 0
struts2+spring+mybatis整合小案例
最近学习ssm框架,模仿别人做了一个小案例 当然途中也遇到了蛮多的问题.借此机会.记录一下自己的过程 struts2+spring+mybatis的整合过程 1.说明: 个人采用的是deepin操作系统(深度linux)+Intellij Idea(相对与myeclipse我还是更喜欢idea 可能因为更智能)+tomcat7. 当然在windows下没什么不同,具
4035 0
Spring+SpringMVC+MyBatis+Maven整合
最近看见网上整理的Spring+SpringMVC+MyBatis+Maven太low,正好今天有时间,于是整理了下,那么开始吧! 1、使用的工具 STS下载地址 http://www.
1138 0
MyBatis快速入门(四) MyBatis和Spring集成
导入依赖包 前面介绍了MyBatis的相关知识,现在来介绍一下如何和Spring进行集成。MyBatis和Spring的集成工作是由MyBatis团队完成的。
852 0
学习日记:java SSM框架(Spring+SpringMVC+MyBatis)
这段时间搭建ssm环境,并测试几个下载的项目demo安装相关文件:MyEclipse界面:测试项目简单增删改:ssm+mysql+easyui项目:SSM+MYSQL+EXTJS项目
3506 0
spring 多数据源 ,mybatis和hibernet版本
mybatis版本 1.数据源配置: jdbc_multiple.properties: # MySQL #============================================================================ jdbc.mysql.driver=com.mysql.jdbc.Driver jdbc.mysql.url=jd
2179 0
SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置
一直对springmvc和mybatis挺怀念的,最近想自己再搭建下框架,然后写点什么。 暂时没有整合缓存,druid也没有做ip地址的过滤。Spring的AOP简单配置了下,也还没具体弄,不知道能不能用,log也不知道能不能用,`(*∩_∩*)′哈哈,有点不负责任...... 2014-08-12 23:45补: =================开始=================
2960 0
基于Spring+SpringMVC+MyBatis实现高并发秒杀APIM
基于Spring+SpringMVC+MyBatis实现高并发秒杀API 项目地址:https://github.com/DaleyChao/SecondKill 项目下载链接:https://github.
1666 0
+关注
ycy蓝码
一个人的坚持,是一路的前行
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Java Spring Boot开发实战系列课程【第6讲】:Spring Boot 2.0实战MyBatis与优化(Java面试题)
立即下载
基于阿里企业级分布式应用服务的敏捷服务开发与架构实践
立即下载
Java Spring Boot开发实战系列课程【第7讲】:Spring Boot 2.0安全机制与MVC身份验证实战(Java面试题)
立即下载