• Mybatis的学习总结:mybatis的入门介绍


    一、myBatis简述

      MyBatis是一个支持普通SQL查询存储过程高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

    二、mybatis所需要的jar包

      【mybatis

             mybatis-3.1.1.jar

      【MYSQL驱动包】
        mysql-connector-java-5.1.7-bin.jar

                                 

    创建一个普通的Java项目,进行测试

     创建数据表:

    CREATE TABLE `edi_test_task` (
      `task_id` char(32) NOT NULL,
      `task_name` varchar(50) DEFAULT NULL,
      `task_owner` varchar(20) DEFAULT NULL,
      `task_type` varchar(2000) DEFAULT NULL,
      `create_dt` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
      `update_dt` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
      PRIMARY KEY (`task_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    
    
    --明细表
    CREATE TABLE `edi_task_detail` (
      `detail_id` char(32) NOT NULL,
      `task_id` char(32) NOT NULL,
      `sender` varchar(50) DEFAULT NULL,
      `receiver` varchar(50) DEFAULT NULL,
      `msg_class` varchar(100) DEFAULT NULL,
      `task_type` varchar(100) DEFAULT NULL,
      `ini_sybase` varchar(100) DEFAULT NULL,
      `fact_sybase` varchar(100) DEFAULT NULL,
      `fact_oracle` varchar(100) DEFAULT NULL,
      `diff` text,
      `create_dt` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
      PRIMARY KEY (`detail_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8
    

     前期准备基本完成,下面进行项目环境的配置:

      1、添加项目的mybatis的配置文件:conf.xml【在src/main/java目录下面创建】

    conf.xml的具体代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <!-- 引入配置文件 -->
        <properties resource="mysql.properties"/>
        <!-- 实体类的配置 -->
        <typeAliases>
           <package name="com.cn.mybatis.model"/>
        </typeAliases>
        <environments default="development">
            <environment id="development">
              <transactionManager type="JDBC"/>
              <dataSource type="POOLED">
                  <property name="driver" value="com.mysql.jdbc.Driver"/>
                  <property name="url" value="jdbc:mysql://172.32.231.206:3306/edihelper"/>
                  <property name="username" value="root"/>
                  <property name="password" value="***"/>
              </dataSource>
            </environment>
        </environments>
        
    </configuration>

    2、创建实体类:EdiTestTask(具体代码省略)

    3、创建mapper.xml配置文件

    <mapper namespace="com.cn.mybatis.mapper.taskMapper">
        <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getAllTask,id属性值必须是唯一的,不能够重复
             使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
              resultType="com.cn.mybatis.model.EdiTestTask"就表示将查询结果封装成一个EdiTestTask类的对象返回
             EdiTestTask类就是edi_test_task表所对应的实体类(实体类的变量要和数据表中字段一致)
         -->
        <select id="getAllTask" parameterType="String" resultType="com.cn.mybatis.model.EdiTestTask">
            select * from edi_test_task where task_id=#{taskId}
        </select>
    </mapper>

    4、在conf.xml中,配置sql的配置文件

    具体代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>

    <!--数据库的具体配置--> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://172.32.231.206:3306/edihelper"/> <property name="username" value="root"/> <property name="password" value="***"/> </dataSource> </environment> </environments>
    <mappers> <mapper resource="com/cn/mybatis/mapper/taskMapper.xml"/> </mappers> </configuration>

    5、创建test测试类

    package com.cn.mybatis.test;
    import java.io.IOException;
    import java.io.InputStream;
    import java.lang.reflect.Field;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.util.Date;
    
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    import org.junit.Test;
    
    import com.cn.mybatis.common.MybatisUtil;
    import com.cn.mybatis.model.EdiTestTask;
    
    
    public class mybatisTest {
        public static void main(String[] args) throws IOException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{
            //mybatis的配置文件
            String conf="conf.xml";
            //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
            InputStream is=mybatisTest.class.getClassLoader().getResourceAsStream(conf);
            //构建sqlSession的工厂
            SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(is);
            SqlSession session=sessionFactory.openSession();
            String statement="com.cn.mybatis.mapper.taskMapper.getAllTask";
            EdiTestTask editt=session.selectOne(statement,"6c61bffed61141d7a908af0428ae57fb");
        //读取实体类中的值
         system.out.println(editt);
    } }
  • 相关阅读:
    MyBatis:分页的实现
    Mybatis之配置文件
    Java之创建线程的方式四:使用线程池
    Java之创建线程的方式三:实现Callable接口
    Java之线程通信的应用:经典例题:生产者/消费者问题
    Java之线程通信的方法
    Java之解决线程安全问题的方式三:Lock锁
    Java之同步方法处理实现Runnable接口的线程安全问题
    Java之同步方法处理继承Thread类的线程安全问题
    01 while 循环输入1 2 3 4 5 6 8 9 10
  • 原文地址:https://www.cnblogs.com/renxiaoren/p/5242634.html
Copyright © 2020-2023  润新知