• mybatis的配置


    MyBatis 框架

    MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

    一、添加maven依赖

    <dependencies>
    	/* 测试依赖*/
    	<dependency>
    		<groupId>junit</groupId>
    		<artifactId>junit</artifactId>
    		<version>4.11</version>
    		<scope>test</scope>
    	</dependency>
    
    	/* mybatis依赖*/
    	<dependency>
    		<groupId>org.mybatis</groupId>
    		<artifactId>mybatis</artifactId>
    		<version>3.5.1</version>
    	</dependency>
    	
    	<dependency>
    		<groupId>mysql</groupId>
    		<artifactId>mysql-connector-java</artifactId>
    		<version>5.1.9</version>
    	</dependency>
    </dependencies>
    

    添加maven插件

    <build>
    	<resources>
    		<resource>
    			<directory>src/main/java</directory> <!--所在的目录-->
    			<includes><!--包括目录下的.properties,.xml 文件都会扫描到-->
    				<include>**/*.properties</include>
    				<include>**/*.xml</include>
    			</includes>
    			<filtering>false</filtering>
    		</resource>
    	</resources>
    	
    	<plugins>
    		<plugin>
    			<artifactId>maven-compiler-plugin</artifactId>
    			<version>3.1</version>
    			<configuration>
    				<source>1.8</source>
    				<target>1.8</target>
    			</configuration>
    		</plugin>
    	</plugins>
    </build>
    

    二、编写Dao接口Mapper映射文件 xxx.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
      PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
      <!-- namespace:dao接口的全限定名称-->
    <mapper namespace="org.mybatis.example.BlogMapper">
    	<!-- id: dao 接口中方法名称
    		resultType:查询语句的返回结果数据类型的全限定类名-->
      <select id="selectBlog" resultType="Blog">
        select * from Blog where id = #{id}
      </select>
    </mapper>
    

    三、编写MyBatis主配置文件mybatis-config.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">
      
      <!-- 加入日志配置,可以在控制台输出执行的 sql 语句和参数 -->
    <settings>
    	<setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>
    
    <configuration>
    	<!-- default:使用的数据库环境 -->
      <environments default="mysql">
      	<!-- id:数据源的名称 -->
        <environment id="mysql">
          <transactionManager type="JDBC"/>
          <dataSource type="POOLED">
            <property name="driver" value="${jdbc.driver}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
          </dataSource>
        </environment>
      </environments>
      
      <mappers>
      	<!--dao接口映射文件的位置-->
        <mapper resource="org/mybatis/example/BlogMapper.xml"/>
      </mappers>
    </configuration>
    

    创建 properties 文件

    在 resources 目录创建 jdbc.properties 文件

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/ssm
    jdbc.username=root
    jdbc.password=123456
    

    四、使用mybatis

    public void testInsert() throws IOException {
    	//1.mybatis 主配置文件
    	String config = "mybatis-config.xml";
    	//2.读取配置文件
    	InputStream in = Resources.getResourceAsStream(config);
    	//3.创建 SqlSessionFactory 对象
    	SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
    	//4.获取 SqlSession
    	SqlSession session = factory.openSession();
    	
    	//最后关闭
    	session.close();
    }
    

    创建MyBatisUtil 类

    public class MyBatisUtil {
    	//定义 SqlSessionFactory
    	private static SqlSessionFactory factory = null;
    	static {
    		//使用 静态块 创建一次 SqlSessionFactory
    		try{
    		String config = "mybatis-config.xml";
    		//读取配置文件
    		InputStream in = Resources.getResourceAsStream(config);
    		//创建 SqlSessionFactory 对象
    		factory = new SqlSessionFactoryBuilder().build(in);
    	}catch (Exception e){
    		factory = null;
    		e.printStackTrace();
    	}
    }
    /* 获取 SqlSession 对象 */
    public static SqlSession getSqlSession(){
    	SqlSession session = null;
    	if( factory != null){
    		session = factory.openSession();
    	}
    		return session;
    	}
    }
    

    五、分页查询

    (1)添加依赖

    <dependency>
    	<groupId>com.github.pagehelper</groupId>
    	<artifactId>pagehelper</artifactId>
    	<version>5.1.10</version>
    </dependency>
    

    (2)加入plugin 配置

    <!-- 在<environments>之前加入 -->
    <plugins>
    	<plugin interceptor="com.github.pagehelper.PageInterceptor" />
    </plugins>
    
  • 相关阅读:
    go chapter 4
    go chapter 3
    ETCD相关介绍--整体概念及原理方面
    go chapter 2
    go chapter 1
    使用kubeadm搭建kubernetes1.10集群 Posted on April 14, 2018
    单用户passwd修改root密码没反应
    is not in the sudoers file解决方案
    版本更换,开始学习鸟哥的私房菜
    ubuntu 常见命令
  • 原文地址:https://www.cnblogs.com/z-tao/p/12981221.html
Copyright © 2020-2023  润新知