• mybatis学习-基础


    1、基础回顾

    1.1、引入jar包

     1 <dependency>
     2     <groupId>org.mybatis</groupId>
     3     <artifactId>mybatis</artifactId>
     4     <version>3.2.8</version>
     5 </dependency>
     6 
     7 <dependency>
     8     <groupId>mysql</groupId>
     9     <artifactId>mysql-connector-java</artifactId>
    10     <version>5.1.32</version>
    11 </dependency>

    1.2、 创建数据库表

     1 CREATE TABLE PERSON(
     2  id INT(11) PRIMARY KEY AUTO_INCREMENT COMMENT '人员编号',
     3  `name` NVARCHAR(50) NOT NULL COMMENT '姓名',
     4  sex NVARCHAR(50) NOT NULL COMMENT '性别',
     5  age INT(20) NOT NULL COMMENT '年龄',
     6  rank NVARCHAR(50) NOT NULL COMMENT '等级',
     7  department NVARCHAR(100) NOT NULL COMMENT '所在部门'
     8 )COMMENT '人员信息表';
     9 
    10 INSERT INTO PERSON(id,name,sex,age,rank,department) VALUES(1,'张三','',25,'1级','开发部');

     1.3、JDBC基础代码回顾

     1 package com.ft.dao;
     2 
     3 
     4 
     5 import java.sql.DriverManager;
     6 import java.sql.ResultSet;
     7 import java.sql.SQLException;
     8 
     9 import com.mysql.jdbc.Connection;
    10 import com.mysql.jdbc.PreparedStatement;
    11 
    12 public class JDBCTest {
    13     public static void main(String[] args) {
    14         Connection conn = null;
    15         PreparedStatement pst = null;
    16         ResultSet rs = null;
    17         try {
    18             Class.forName("com.mysql.jdbc.Driver");
    19             String url = "jdbc:mysql://127.0.0.1:3306/ssmdemo";
    20             String user = "root";
    21             String password = "root";
    22             conn = (Connection) DriverManager.getConnection(url, user, password);
    23             String sql  = "select * from person";
    24             pst = (PreparedStatement) conn.prepareStatement(sql);
    25             rs = pst.executeQuery();
    26             while(rs.next()) {
    27                 System.out.print(rs.getString("id"));
    28                 System.out.print(rs.getString("name"));
    29                 System.out.print(rs.getString("sex"));
    30                 System.out.print(rs.getString("age"));
    31                 System.out.print(rs.getString("rank"));
    32                 System.out.println(rs.getString("department"));
    33             }
    34             
    35         }catch (Exception e) {
    36             // TODO: handle exception
    37         }
    38         finally {
    39             if(rs != null) {
    40                 try {
    41                     rs.close();
    42                     pst.close();
    43                     conn.close();
    44                 } catch (SQLException e) {
    45                     // TODO Auto-generated catch block
    46                     e.printStackTrace();
    47                 }
    48             }
    49         }
    50         
    51     }
    52     
    53     
    54 }

    1.4、JDBC确定分析

    2、MyBatis介绍

     3、MyBatis整体架构

     4、MyBatis快速入门

    4.1、全局配置文件(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 <!-- 根标签 -->
     6 <configuration>
     7 <properties>
     8     <property name="driver" value="com.mysql.jdbc.Driver"/>
     9     <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis-110?useUnicode=true&amp;characterEncoding=utf-8&amp;allowMultiQueries=true"/>
    10     <property name="username" value="root"/>
    11         <property name="password" value="123456"/>
    12    </properties>
    13 
    14    <!-- 环境,可以配置多个,default:指定采用哪个环境 -->
    15    <environments default="test">
    16       <!-- id:唯一标识 -->
    17       <environment id="test">
    18          <!-- 事务管理器,JDBC类型的事务管理器 -->
    19          <transactionManager type="JDBC" />
    20          <!-- 数据源,池类型的数据源 -->
    21          <dataSource type="POOLED">
    22             <property name="driver" value="com.mysql.jdbc.Driver" />
    23             <property name="url" value="jdbc:mysql://127.0.0.1:3306/ssmdemo" />
    24             <property name="username" value="root" />
    25             <property name="password" value="root" />
    26          </dataSource>
    27       </environment>
    28       <environment id="development">
    29          <!-- 事务管理器,JDBC类型的事务管理器 -->
    30          <transactionManager type="JDBC" />
    31          <!-- 数据源,池类型的数据源 -->
    32          <dataSource type="POOLED">
    33             <property name="driver" value="${driver}" /> <!-- 配置了properties,所以可以直接引用 -->
    34             <property name="url" value="${url}" />
    35             <property name="username" value="${username}" />
    36             <property name="password" value="${password}" />
    37          </dataSource>
    38       </environment>
    39    </environments>
    40    <mappers>
    41            <mapper resource="mapper/MyMapper.xml"/>
    42    </mappers>
    43    
    44   </configuration>

    4.2、 配置Map.xml(MyMapper.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:命名空间,随便写,一般保证命名空间唯一 -->
     6 <mapper namespace="MyMapper">
     7    <!-- statement,内容:sql语句。id:唯一标识,随便写,在同一个命名空间下保持唯一
     8       resultType:sql语句查询结果集的封装类型,tb_user即为数据库中的表
     9     -->
    10    <select id="selectperson" resultType="com.ft.entity.Person">
    11       select * from person where id = #{id}
    12    </select>
    13 </mapper>

    4.3、目录结构

     4.4、javaBean类

     1 package com.ft.entity;
     2 
     3 public class Person {
     4     private int id;
     5     private String name;
     6     private String sex;
     7     private int age;
     8     private String rank;
     9     private String department;
    10     public int getId() {
    11         return id;
    12     }
    13     public void setId(int id) {
    14         this.id = id;
    15     }
    16     public String getName() {
    17         return name;
    18     }
    19     public void setName(String name) {
    20         this.name = name;
    21     }
    22     public String getSex() {
    23         return sex;
    24     }
    25     public void setSex(String sex) {
    26         this.sex = sex;
    27     }
    28     public int getAge() {
    29         return age;
    30     }
    31     public void setAge(int age) {
    32         this.age = age;
    33     }
    34     public String getRank() {
    35         return rank;
    36     }
    37     public void setRank(String rank) {
    38         this.rank = rank;
    39     }
    40     public String getDepartment() {
    41         return department;
    42     }
    43     public void setDepartment(String department) {
    44         this.department = department;
    45     }
    46     @Override
    47     public String toString() {
    48         return "Person [id=" + id + ", name=" + name + ", sex=" + sex + ", age=" + age + ", rank=" + rank
    49                 + ", department=" + department + "]";
    50     }
    51     public Person(int id, String name, String sex, int age, String rank, String department) {
    52         super();
    53         this.id = id;
    54         this.name = name;
    55         this.sex = sex;
    56         this.age = age;
    57         this.rank = rank;
    58         this.department = department;
    59     }
    60     public Person() {
    61         super();
    62     }
    63     
    64 }

     4.5、测试代码

     1 package com.ft.dao;
     2 
     3 import java.io.IOException;
     4 import java.io.InputStream;
     5 
     6 import org.apache.ibatis.io.Resources;
     7 import org.apache.ibatis.session.SqlSession;
     8 import org.apache.ibatis.session.SqlSessionFactory;
     9 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    10 
    11 import com.ft.entity.Person;
    12 
    13 public class Mybatistest {
    14     public static void main(String[] args) throws IOException {
    15         String resource = "mybatis-config.xml";
    16         //读取配置文件
    17         InputStream input = Resources.getResourceAsStream(resource);
    18         //构建sqlSessionFactory
    19         SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(input);
    20         //获取sqlSession
    21         SqlSession session = sessionFactory.openSession();
    22         try {
    23              Person per = session.selectOne("MyMapper.selectperson", 1);
    24              System.out.println(per);
    25         } finally {
    26             // TODO: handle finally clause
    27             session.close();
    28         }
    29         
    30         
    31     }
    32 }
  • 相关阅读:
    新学期的合作
    软件工程问题及回答
    《程序猿的生命周期》阅读有感
    《构建之法》13~17章
    阅读《构建之法》十一、十二、十三章之感
    阅读《构建之法》十一、十二、十三章
    【.NET / C#】SubarrayUtils(查找子数组工具类)
    【Java】ComplexTimerTask (TimerTask 拓展封装)
    【Java】AesCbcCodec(AES_CBC加解密工具类)
    【Java】AesEcbCodec(AES_ECB加解密工具类)
  • 原文地址:https://www.cnblogs.com/zsy-code/p/14050153.html
Copyright © 2020-2023  润新知