mybatis01环境及测试

在学习mybatis的过程中,需要一系列的前提条件,为了测试环境是否配置正确,所以自己用一个例子做了个小测试

资源下载

mybatis的jar包完整下载地址:

https://github.com/mybatis/mybatis-3/releases

配置

  • 创建工程

  • 加入jar包(这里的jar包除mybatis的jar包以外,还有lib文件下的依赖)

  • 配置log4j,创建log4j.properties配置文件信息在pdf文件p87页

      # Global logging configuration
      # 听说开发环境要设置为DEBUG,生产环境设置为INFO或ERROR
      log4j.rootLogger=ERROR, stdout
      # MyBatis logging configuration...
      log4j.logger.org.mybatis.example.BlogMapper=TRACE
      # Console output...
      log4j.appender.stdout=org.apache.log4j.ConsoleAppender
      log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
      log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
    
  • 创建Configuration.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>
      	<!-- 与spring整合后将废除 -->
      	<environments default="development">
      		<environment id="development">
      		<!-- JDBC事务管理 -->
      		<transactionManager type="JDBC"/>
      			<!-- 数据库连接池 -->
      			<dataSource type="POOLED">
      				<property name="driver" value="com.mysql.jdbc.Driver"/>
      				<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?characterEncoding=utf8" />
      				<property name="username" value="root"/>
      				<property name="password" value="123456"/>
      			</dataSource>
      		</environment>
      	</environments>
      </configuration>
    
  • 创建sqlmapper文件,这里以user.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: 命名空间 -->
      	<mapper namespace="test">
      	
      		<!-- 这里面开始写sql -->
      		<!-- 以select语句进行举例:
      		id: 标识符,也是mapperStatement的id
      		parameterType: 输入类型
      		resultType: 返回类型,这里返回一个User对象
      		#{}: 占位符
      		#{id}: 其中的id是传递进去的值
      		 -->
      		<select id="selectUserByID" parameterType="int" resultType="com.model.User">
      		    select * from user where id = #{id}
      		</select>
      	    
      	</mapper>
    
  • 相应的,创建相应的model,这里以User.java为例

      package com.model;
      
      public class User {
      
      	private int id;
      	
      	private String userName;
      	
      	private int userAge;
      	
      	private String userAddress;
      
      	public int getId() {
      		return id;
      	}
      
      	public void setId(int id) {
      		this.id = id;
      	}
      
      	public String getUserName() {
      		return userName;
      	}
      
      	public void setUserName(String userName) {
      		this.userName = userName;
      	}
      
      	public int getUserAge() {
      		return userAge;
      	}
      
      	public void setUserAge(int userAge) {
      		this.userAge = userAge;
      	}
      
      	public String getUserAddress() {
      		return userAddress;
      	}
      
      	public void setUserAddress(String userAddress) {
      		this.userAddress = userAddress;
      	}
      
      	@Override
      	public String toString() {
      		return "User [id=" + id + ", userName=" + userName + ", userAge=" + userAge + ", userAddress=" + userAddress
      				+ "]";
      	}
      	
      }
    
  • Configuration.xml中添加相关的配置,用于映射user.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>
      	<!-- 与spring整合后将废除 -->
      	<environments default="development">
      		<environment id="development">
      		<!-- JDBC事务管理 -->
      		<transactionManager type="JDBC"/>
      			<!-- 数据库连接池 -->
      			<dataSource type="POOLED">
      				<property name="driver" value="com.mysql.jdbc.Driver"/>
      				<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?characterEncoding=utf8" />
      				<property name="username" value="root"/>
      				<property name="password" value="123456"/>
      			</dataSource>
      		</environment>
      	</environments>
      	
      	<!-- 添加sqlmapper映射 -->
      	<mappers>
      		<!-- 关于这里的resource,目录是从Configuration.xml位置起,  
      		测试的时候错了很多次 -->
      	    <mapper resource="sqlmap/user.xml"/>
      	</mappers>
      </configuration>
    
  • 编写代码,这里新建Test.java

      package com.test;
      
      import java.io.IOException;
      import java.io.InputStream;
      
      import org.apache.ibatis.io.Resources;
      import org.apache.ibatis.session.SqlSession;
      import org.apache.ibatis.session.SqlSessionFactory;
      import org.apache.ibatis.session.SqlSessionFactoryBuilder;
      
      import com.model.User;
      
      public class Test {
      
      	public static void main(String[] args) throws IOException {
          	
      		findUserById();
      		
      	} 
      	
      	public static void findUserById() throws IOException {
      		
      		// mybatis 配置文件
      		String resource = "Configuration.xml";
      		
      		// 得到配置文件流
      		InputStream inputStream = Resources.getResourceAsStream(resource);
      		
      		// 创建会话工厂,传入mybatis配置
      		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
      		
      		// 通过工厂得到SqlSession
      		SqlSession sqlSession = sqlSessionFactory.openSession();
      		
      		// 通过SqlSession操作数据库
      		User user = sqlSession.selectOne("test.selectUserByID", 1);
      		
      		// 测试结果
      		System.out.println(user.toString());
      		
      		// 释放资源
      		sqlSession.close();
      		
      	}
      }
    

下面是我的项目结构:

在这里插入图片描述


测试结果截图:

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值