• MyBatis


    框架技术

    是一个应用程序的半成品: 一个框架程序员可以配置的选择/选项越多,认为这款框架的可扩展性强。 面向SQL的一个框架  SQL程序员 入参自动装配 返回值自动装配提供可重用的公共结构   10个项目  基础架构  按一定规则组织的一组组件

    组件(Component)是对数据和方法的简单封装封装了特定功能和属性的一个对象:我们封装过TextBox:(只能接受数字:)

    框架的优势

    不用再考虑公共问题 、专心在业务实现上、结构统一,易于学习、维护、新手也可写出好程序

     

    01.持久化与ORM

    ORM:Object Relational Mapping对象关系映射

    编写程序的时候,程序员更倾向于以面向对象的思维方式处理数据   A.b.getName()

    保存数据的时候,却以关系型数据库的方式存储  “cn.happy.Action”

    (坑爹啊~~~~~~~)

    持久化:持久化是程序数据在瞬时状态和持久状态间转换的过程

    02.MyBatis简介

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation(基础) 迁移到了google code,并且改名为MyBatis 201311月迁移到Github

    iBatis自动ORM映射框架,它需要在数据库里手动建表CURD操作时要自己写SQL语句,而Hibernate是全ORM映射框架,它只需要配置好文件,表会自动生成,CURDSQL语句也是自动生成的,这是他们的主要区别。

    MyBatis小巧,简单易学

    MyBatis是映射SQLHibernate是映射实体类的

    中文文档

    http://www.mybatis.org/mybatis-3/zh/index.html

    03.MyBatis快速入门

     

    1.下载jar

    Jar包下载路径

    http://repo1.maven.org/maven2/org/mybatis/mybatis/

    2.附加jar

    3.编写MyBatis配置文件 mybatis-config.xml(大配置文件)

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE configuration
     3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
     4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
     5 <configuration>
     6     <environments default="development">
     7         <environment id="development">
     8             <transactionManager type="JDBC" />
     9             <dataSource type="POOLED">
    10                 <property name="driver" value="oracle.jdbc.OracleDriver" />
    11                 <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
    12                 <property name="username" value="s2220" />
    13                 <property name="password" value="ss" />
    14             </dataSource>
    15         </environment>
    16     </environments>
    17     <!--映射文件:描述某个实体和数据库表的对应关系 -->
    18     <mappers>
    19         <mapper resource="cn/happy/entity/Dept.xml" />
    20     </mappers>
    21 </configuration>

    创建实体类

     1 public class User {
     2     // 用户id
     3     private int uid;
     4     // 用户名
     5     private String uname;
     6     //密码
     7     private  String upwd;
     8     //手机
     9     private  String phone;
    10     public String getUpwd() {
    11         return upwd;
    12     }
    13 
    14     public void setUpwd(String upwd) {
    15         this.upwd = upwd;
    16     }
    17 
    18     public String getPhone() {
    19         return phone;
    20     }
    21 
    22     public void setPhone(String phone) {
    23         this.phone = phone;
    24     }
    25 
    26 
    27     public int getUid() {
    28         return uid;
    29     }
    30     public void setUid(int uid) {
    31         this.uid = uid;
    32     }
    33     public String getUname() {
    34         return uname;
    35     }
    36     public void setUname(String uname) {
    37         this.uname = uname;
    38     }
    39 }
    View Code

    创建一个小配置文件 xml 形式

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE mapper
     3         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     4         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
     5 <mapper namespace="cn.wh.dao.IUserDao">
     6     <resultMap type="cn.wh.entity.User" id="MessageResult">
     7         <id column="uid" jdbcType="INTEGER" property="uid"/>
     8         <result column="uname" jdbcType="VARCHAR" property="uname" />
     9         <result column="upwd" jdbcType="VARCHAR" property="upwd" />
    10          <result column="uphone" jdbcType="VARCHAR" property="phone" />
    11     </resultMap>
    12     <select id="findAll"  resultMap="MessageResult">
    13           select * from user
    14     </select>

    编写测试类

     1     @Test//查询
     2     public  void  selectAll(){
     3     String path="mybatis-config.xml";
     4     SqlSession sqlSession=null;
     5     try {
     6         InputStream is= org.apache.ibatis.io.Resources.getResourceAsStream(path);
     7         SqlSessionFactoryBuilder sqlSessionFactoryl=new SqlSessionFactoryBuilder();
     8         SqlSessionFactory factory= sqlSessionFactoryl.build(is);
     9          sqlSession=factory.openSession();
    10         List<User> list= sqlSession.selectList("findAll");
    11         for (User item:list
    12              ) {
    13             System.out.println(item.getUname());
    14         }
    15 
    16     } catch (IOException e) {
    17         e.printStackTrace();
    18     }finally {
    19         sqlSession.close();
    20     }
    21 }

    输出结果

  • 相关阅读:
    开源WebGIS实施方案(五):基于SLD实现图层符号化及其应用
    开源WebGIS实施方案(四):GeoServer发布PostGIS数据
    开源WebGIS实施方案(三):Shapefile数据导入到PostGIS
    jdbcType与javaType的对应关系
    关于fastjson的一个坑:输出json时,bean对象属性首字母默认被小写
    TortoiseSVN本地版本控制管理
    ArcGIS“一个或多个ActiveX控件无法显示...”问题的解决方案
    JavaWeb学习系列——第一个JavaWeb程序
    ArcGIS提取影像边界
    调皮的MySQL服务 请你不要再躲猫猫
  • 原文地址:https://www.cnblogs.com/wh1520577322/p/9248830.html
Copyright © 2020-2023  润新知