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

本文详细介绍如何使用MyBatis框架进行数据库操作,包括环境搭建、表结构定义、映射文件编写、实体类创建及工厂类设计等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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?"连接成功":"连接失败");
	}
}


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值