• mybatis的入门


    mybatis的前身是ibatis,其配置和使用步骤为:

    配置步骤:

    1、  配置全局配置文件

    设置环境(事务、数据源)

    管理映射文件XxxMapper.xml

    2、  配置映射文件

    Mapper标签:用来配置不同的statement

    Namespace属性:用来配置名称空间,来区分不同的映射文件中的statement

    编写crud的statement:select 、update 、insert 、delete

             Select:专门用于查询的statement,可以编写查询语句

             Id属性:该statement的唯一标识,一般用来被引用

             resultType:结果集类型

             paramterType:参数类型,可以省略,一般都省略

    使用步骤:

    1、获取全局配置文件的输入流,加载全局配置文件

    2、通过全局配置文件的输入流创建SqlSessionFactory

    3、通过SqlSessionFactory获取SqlSession

    4、通过SqlSession操作crud

    5、关闭SqlSession,释放资源。

    全局配置文件如下:

     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     <!--配置环境,注册mysql驱动-->
     7     <environments default="development">
     8         <environment id="development">
     9             <transactionManager type="JDBC"/>
    10             <dataSource type="POOLED">
    11                 <property name="driver" value="com.mysql.jdbc.Driver"/>
    12                 <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
    13                 <property name="username" value="root"/>
    14                 <property name="password" value="root"/>
    15             </dataSource>
    16         </environment>
    17     </environments>
    18     <!--将映射xml交给全局配置文件托管-->
    19     <mappers>
    20         <mapper resource="UserMapper.xml"/>
    21     </mappers>
    22 </configuration>

    映射文件如下:

     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="UserMapper">
     6     <!--一定要注意resultType后面的事全限定名-->
     7     <!--
     8     select标签:sql语句的声明
     9     id:sql语句的唯一标识
    10     resultType:返回的是什么类型
    11     -->
    12     <select id="queryUserById" resultType="cn.itcast.pojo.User">
    13         /*sql语句*/
    14         select *,user_name as userName from tb_user where id =#{id}
    15     </select>
    16 </mapper>

    bean类:

      1 package cn.itcast.pojo;
      2 
      3 import java.util.Date;
      4 
      5 public class User {
      6 
      7     private Long id;
      8 
      9     // 用户名
     10     private String userName;
     11 
     12     // 密码
     13     private String password;
     14 
     15     // 姓名
     16     private String name;
     17 
     18     // 年龄
     19     private Integer age;
     20 
     21     // 性别,1男性,2女性
     22     private Integer sex;
     23 
     24     // 出生日期
     25     private Date birthday;
     26 
     27     // 创建时间
     28     private Date created;
     29 
     30     // 更新时间
     31     private Date updated;
     32 
     33     public Long getId() {
     34         return id;
     35     }
     36 
     37     public void setId(Long id) {
     38         this.id = id;
     39     }
     40 
     41     public String getUserName() {
     42         return userName;
     43     }
     44 
     45     public void setUserName(String userName) {
     46         this.userName = userName;
     47     }
     48 
     49     public String getPassword() {
     50         return password;
     51     }
     52 
     53     public void setPassword(String password) {
     54         this.password = password;
     55     }
     56 
     57     public String getName() {
     58         return name;
     59     }
     60 
     61     public void setName(String name) {
     62         this.name = name;
     63     }
     64 
     65     public Integer getAge() {
     66         return age;
     67     }
     68 
     69     public void setAge(Integer age) {
     70         this.age = age;
     71     }
     72 
     73     public Integer getSex() {
     74         return sex;
     75     }
     76 
     77     public void setSex(Integer sex) {
     78         this.sex = sex;
     79     }
     80 
     81     public Date getBirthday() {
     82         return birthday;
     83     }
     84 
     85     public void setBirthday(Date birthday) {
     86         this.birthday = birthday;
     87     }
     88 
     89     public Date getCreated() {
     90         return created;
     91     }
     92 
     93     public void setCreated(Date created) {
     94         this.created = created;
     95     }
     96 
     97     public Date getUpdated() {
     98         return updated;
     99     }
    100 
    101     public void setUpdated(Date updated) {
    102         this.updated = updated;
    103     }
    104 
    105     @Override
    106     public String toString() {
    107         return "User [id=" + id + ", userName=" + userName + ", password=" + password + ", name=" + name
    108                 + ", age=" + age + ", sex=" + sex + ", birthday=" + birthday + ", created=" + created
    109                 + ", updated=" + updated + "]";
    110     }
    111 
    112 }

    测试类:

     1 package cn.itcast.mybatis;
     2 
     3 import cn.itcast.pojo.User;
     4 import org.apache.ibatis.io.Resources;
     5 import org.apache.ibatis.session.SqlSession;
     6 import org.apache.ibatis.session.SqlSessionFactory;
     7 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
     8 
     9 import java.io.IOException;
    10 import java.io.InputStream;
    11 
    12 /**
    13  * @author o_0sky
    14  * @date 2019/2/14 20:02
    15  */
    16 public class MybatisTest {
    17     public static void main(String[] args) throws IOException {
    18         //获取全局配置输入流
    19         String resource = "mybatis-config.xml";
    20         InputStream inputStream = Resources.getResourceAsStream(resource);
    21         //加载全局配置文件
    22         SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    23         //获取sqlSession
    24         SqlSession sqlSession = sessionFactory.openSession();
    25         /**
    26          * 第一个参数:namespace.id
    27          * 第二个参数:sql语句传递的参数
    28          */
    29         User user = sqlSession.selectOne("UserMapper.queryUserById", 1L);
    30         System.out.println(user);
    31     }
    32 }

    这是基础的mybatis配置及使用,后续还会进行更新

  • 相关阅读:
    设计模式学习之工厂方法(Factory Method,创建型模式)(2)
    设计模式学习之简单工厂(Simple Factory,创建型模式)(1)
    JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)
    JS图片延迟加载分析及简单的demo
    SVN服务器搭建和使用(三)(转载)
    SVN服务器搭建和使用(二)(转载)
    SVN服务器搭建和使用(一)(转载)
    JAVA基础学习之String、StringBuffer、StringBuilder、基本数据类型的使用、整形进制转换、集合Collection、Vector、ArrayList、LinkedList、HashSet、TreeSet等(3)
    Entity FrameWork 中使用Expression<Func<T,true>>访问数据库性能优化
    JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)
  • 原文地址:https://www.cnblogs.com/linsky/p/10389949.html
Copyright © 2020-2023  润新知