mybatis环境搭建及创建一个mybatis连接

来源:互联网 发布:金融数据分析师待遇 编辑:程序博客网 时间:2024/06/15 04:34

1、首先使用maven 加入如下依赖

cglib-2.2.0-b23.jar

asm-5.0.3.jar

mybatis-3.3.0.jar

2、建一个学生表

create table students(
  id int(5) primary key,
 name varchar(10),
 sal double(8,2)
);

3、建一个学生映射文件

StudentMapper.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"><!-- resultMap标签:映射实体与表  type属性:表示实体全路径名 id属性:为实体与表的映射取一个任意的唯一的名字--><mapper  namespace="mynamespace"><resultMap type="cn.pai.mybatis.Student" id="studentMap">
<!-- id标签:映射主键属性 result标签:映射非主键属性     property属性:实体的属性名     column属性:表的字段名 --><id property="id" column="id"/><result property="name" column="name"/><result property="sal" column="sal"/></resultMap></mapper>
4、配置mybatis.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><environments default="mysql_development"><!--设置默认数据库--><environment id="mysql_development"><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"/><property name="username" value="root"/><property name="password" value="root"/></dataSource></environment><environment id="oracle_development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="${oracle.driver}"/><property name="url" value="${oracle.url}"/><property name="username" value="${oracle.username}"/><property name="password" value="${oracle.password}"/></dataSource></environment></environments><!-- 加载映射文件 --><mappers ><mapper resource="cn\pai\mybatis\StudentMapper.xml"/></mappers></configuration>
5、写一个实体类

package cn.pai.mybatis;public class Student { private int id; private String name; private Double sal; public Student() {// TODO Auto-generated constructor stub}public Student(int id, String name, Double sal) {super();this.id = id;this.name = name;this.sal = sal;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Double getSal() {return sal;}public void setSal(Double sal) {this.sal = sal;} }
6、写一个MybatisFactory.java

package cn.pai.mybatis.util;import java.io.IOException;import java.io.Reader;import java.sql.Connection;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 org.apache.log4j.lf5.util.Resource;public class MybatisUtil { private static ThreadLocal<SqlSession> threadLocal =new ThreadLocal<SqlSession>(); private static SqlSessionFactory sqlSessionFactory; /*  * 加载mybatis.xml文件   */ static{ try{ Reader reader=Resources.getResourceAsReader("mybatis.xml");     sqlSessionFactory= new SqlSessionFactoryBuilder().build(reader); } catch(IOException e){ e.printStackTrace(); throw new RuntimeException();  }  } /*  * 禁止实例化工具类对象  */ private MybatisUtil(){}; /*  * 获取SqlSession   */ public static SqlSession getSqlSession(){ //从当前线程中获取SqlSession对象 SqlSession sqlSession= threadLocal.get(); // 如果SqlSession 对象为空 if(sqlSession == null){ //在SqlSessionFactory 非空的情况下,获取SqlSession对象 sqlSession =sqlSessionFactory.openSession(); //将SqlSession对象与当前线程绑定在一起 threadLocal.set(sqlSession); } return sqlSession;  } public static void closeSqlSession(){ SqlSession sqlSession=threadLocal.get(); if(sqlSession!=null){ sqlSession.close(); threadLocal.remove(); }  } public static void main(String[] args) {Connection conn=MybatisUtil.getSqlSession().getConnection();System.out.println(conn!=null?"连接成功":"连接失败");}}


测试运行便可以看到连接成功的输出。


1 0