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、运行。没有报错的话,打开数据库就会发现数据已经插入进去了。
~以上希望能帮助到你~