Mybatis入门 环境搭建

1、下载mybatis 【点击打开链接

2、在eclipse中创建一个名为 mybatis 的项目。

3、解压刚下载的压缩包。得到一个名为 mybatis-3.4.6 的文件夹。打开文件夹,内容如下图:


4、将在上面图片中,红框标记的 mybatis-3.4.6.jar包,添加到应用程序的类加载路径中。

    [ 复制粘贴就可以放进src中了 ]


5、把MySQL数据库的驱动添加到应用程序的类加载中

[ 因为之后需要与数据库打交道(我使用的是MySQL数据库),(同加载 mybatis-3.4.6.jar包的步骤一样,这里不再做介绍。)]


6、在MySQL数据库中创建一个新的数据库 mybatis 和 tb_user 表。

[ 在 查询--新建查询 中把下面的SQL脚本复制进去,然后运行,刷新就会看到第二张图的效果啦:]

#创建一个名称为mybatis的数据库
CREATE DATABASE mybatis;

#使用名称名为mybatis的数据库
USE mybatis;

#创建一个tb_user表,有id,name,sex,age列
CREATE TABLE tb_user(
	ID INT(11) PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(18) DEFAULT NULL,
	SEX CHAR(2) DEFAULT NULL,
	AGE INT(11) DEFAULT NULL
)

7、建一个User类。(包名--bean。)

package bean;

public class User {
	private int id;
	private String name;
	private String sex;
	private Integer age;
	
	//有参数构造函数
	public User(String name, String sex, Integer age) {
		super();
		this.name = name;
		this.sex = sex;
		this.age = age;
	}
	//无参数构造函数
	public User() {
		super();
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	
}

8、创建一个名为 UserMapper 的 xml 的配置文件。(包名--mapper)

[ 因为 MyBatis 是通过 XML 文件去完成bean类和数据库表之间的映射关系的。]

<?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">
<mapper namespace="mapper.UserMapper">
	<insert id="save" parameterType="bean.User"
		useGeneratedKeys="true">
		insert into tb_user(name,sex,age) values (#{name},#{sex},#{age})
	</insert>
</mapper>

上面 XML 配置中定义了一个 insert 语句。详解释如下:(如果已经晓得的,可以跳过这里~)

(1)<mapper namespace="mapper.UserMapper">,为这个 mapper 指定一个唯一的 namespace ,namespace 的值习惯上设置为 包名+sql 映射文件名,这样就能够保证 namespace 的值是唯一的。 我这里的包名是 mapper ,文件名是UserMapper 。

(2)在 insert 标签中,设置 insert 标签的 id 属性值为 save  (之后会用到这个属性值)。id 属性值必须是唯一的,不能重复。

(3)使用 parameterType 属性指明插入时使用的参数类型。

(4)使用 useGeneratedKeys="true" 表示使用数据库的自动增长策略。不添加的话,以后添加新用户会报错。

(5)#{name} 表示取参数中的对象的 name 属性值。

接下来,通过 bean 类来完成对数据库的操作。

但是,对应Mybatis来说,现在还不知道需要连接那个数据库,以及连接数据库时所用的连接池、用户名和密码的信息。因为这些信息是所以 bean 类通用的,Mybatis 把这些通用的信息称为 配置信息 ,配置信息 需要使用 配置文件 指定。

9、创建一个 mybatis-config.xml 和 db.properties 的配置文件。(都创建在 src 下)。

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">
<configuration>
	<!-- 加载数据库属性文件 -->
	<properties resource="db.properties"></properties>
	<!-- 环境配置,即连接数据库。 -->
	<environments default="mysql">
		<environment id="mysql">
			<!-- 指定事务管理类型,type="JDBC"指直接简单的使用了JDBC的提交和回滚设置 -->
			<transactionManager type="JDBC" />
			<!-- dataSource数据源配置,POOLED是JDBC连接对象的数据源连接池的实现 -->
			<dataSource type="POOLED">
				<property name="driver" value="${db.driver}" />
				<property name="url" value="${db.url}" />
				<property name="username" value="${db.username}" />
				<property name="password" value="${db.password}" />
			</dataSource>
		</environment>
	</environments>
	<!-- mappers告诉mybatis去哪里找映射文件 -->
	<mappers>
		<mapper resource="mapper/UserMapper.xml" />
	</mappers>
</configuration>

db.properties:

db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost/mybatis
db.username=root
db.password=123

在 mybatis-configuration.xml 中也加载db.properties文件并读取。因为${。。。} 是占位符。它们的信息需要在 db.properties 中找到。就像在饭堂先占个位,再去打饭。

也可以直接打饭直接吃。直接写:

<property name="driver" value="com.mysql.jdbc.Driver" />
<mappers.../> 下的 <mapper../> 子元素,用于指定一个配置文件。

以上就把 mybatis 基本的环境搭建好了。

10、创建一个 MybatisTest 的测试文件。(包名--utils)。完成数据数据插入。

package utils;

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 bean.User;

public class MyBatisTest {
	public static void main(String[] args) throws IOException {
	    //1、读取mybatis-confing.xml 的文件
            String resource = "mybatis-config.xml";
            InputStream in = Resources.getResourceAsStream(resource);
            
            //2、初始化mybatis,创建SqlSessionFactory类的实例
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
            
            //3、创建Session实例
            SqlSession session = sqlSessionFactory.openSession();
           
            //4、创建User对象
            User user=new User("aa","男",10);
           
            //6、插入数据
            session.insert("mapper.UserMapper.save", user);
            
            //7、提交事务
            session.commit();
            //8、关闭Session
            session.close();                      
	}
}

mapper.UserMapper.save  中的 save 是由 UserMapper.xml 中定义的

	<insert id="save" parameterType="bean.User"
		useGeneratedKeys="true">
		insert into tb_user(name,sex,age) values (#{name},#{sex},#{age})
	</insert>

11、运行。没有报错的话,打开数据库就会发现数据已经插入进去了。





~以上希望能帮助到你~






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值