Hello,Mybatis

从0开始,直接动手操作,实现第一个Mybatis程序:Hello World

Table of Contents

获取MyBatis

导入Jar包

创建配置文件

log4j.properties

SqlMapConfig.xml

准备数据库和表

创建POJO(JavaBean)

为实体创建映射文件

加载每个映射文件

在实体映射文件中编写SQL

执行&获取结果


获取MyBatis

获取MyBatis:https://github.com/mybatis/mybatis-3

点击下载按钮,将会跳转到:https://github.com/mybatis/mybatis-3/releases

选择合适的版本进行下载,下载后的zip包内容:

导入Jar

创建一个Java项目,创建一个lib文件夹。导入MyBatis的Jar包(MyBatis-版本.jar核心包)和MySQL驱动包:

执行BuildPath:

创建配置文件

创建资源文件夹config,用于放置配置文件。加入log4j.properties和SqlMapConfig.xml配置文件

log4j.properties

在config下创建log4j.properties如下:

# Global logging configuration
log4j.rootLogger=DEBUG, stdout

# 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

SqlMapConfig.xml

在config下创建SqlMapConfig.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配置将废除,因为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://localhost:3306/kdb?characterEncoding=utf-8" />
				<property name="username" value="root" />
				<property name="password" value="kyle" />
			</dataSource>
		</environment>
	</environments>
</configuration>

SqlMapConfig.xml是mybatis核心配置文件,配置文件内容为数据源、事务管理。 

准备数据库和表

MySQL的用户名和密码:root kyle

-- 1.创建一个名为kdb的数据库并设置编码
CREATE DATABASE kdb CHARACTER SET utf8;
-- 2.切换到kdb数据库
USE kdb;

-- 3.创建一个表格
CREATE TABLE person (
	pid INT PRIMARY KEY AUTO_INCREMENT COMMENT '人的编号,作为主键,编号自动增长',
	pname VARCHAR(20) NOT NULL COMMENT '人的姓名,不可以为空',
	psex VARCHAR(20) DEFAULT NULL COMMENT '性别',
	page INT DEFAULT NULL COMMENT '年龄,默认为空',
	paddress VARCHAR(50) DEFAULT NULL COMMENT '住址,默认为空',
	ptel VARCHAR(15) DEFAULT NULL COMMENT '电话',
	pemail VARCHAR(50) DEFAULT NULL COMMENT '电邮'
);

-- 4.添加几条记录
INSERT INTO person VALUES (1,'Jhon',20,'man','HongKong','16818181818','jhon@pronhub.com'),
	(2,'Project Alice',32,'man','raccoon city','15745452525','alice@umbrella.com'),
	(3,'Fukada Eimi',28,'man','Japanese','10100101010','fukada@javbus.com'),
	(4,'Yourer',25,'man','Japanese','19191918989','you@thepxxxtube.com'),
	(5,'anay',22,'man','Taiwan','11100101001','anay@darkwiki.oni*on')

创建POJO(JavaBean)

为实体创建映射文件

为每个POJO类创建一个同名映射文件,在config下的sqlmap目录下创建sql映射文件Person.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:命名空间,用于隔离sql,还有一个很重要的作用 -->
<mapper namespace="first">

</mapper>

加载每个映射文件

将Person.xml配置到SqlMapconfig.xml中:

在实体映射文件中编写SQL

在Person.xml中添加select标签,编写SQL:

执行&获取结果

步骤:

1. 创建SqlSessionFactoryBuilder对象

2. 加载SqlMapConfig.xml配置文件

3. 创建SqlSessionFactory对象

4. 创建SqlSession对象

5. 执行SqlSession对象执行查询,获取结果User

6. 打印结果

7. 释放资源

package 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 pojo.Person;


public class HelloMyBatis {
	public static void main(String[] args) throws IOException {
		//1. 加载核心配置文件
		String resource = "SqlMapConfig.xml";
		InputStream in = Resources.getResourceAsStream(resource);

		// 2. 创建SqlSessionFactory
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);

		// 3. 创建SqlSession
		SqlSession sqlSession = sqlSessionFactory.openSession();

		// 执行Sql语句
		Person user = sqlSession.selectOne("first.queryUserById", 2);

		System.out.println(user);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值