首次学习mybatis分享经验

本人是初次接触mybatis,分享一下实战的经验:
首先我在网上找到并且下载了mybatis3.4.6的jar包
下载地址
提取码:uyar
工具 mysql5.6,MyEclipse10.
我将mybatis3.4.6.jar和lib里的12个依赖包以及连接mysql的jar包全部复制并构建路径到如图所示的目录里:
在这里插入图片描述
在所有的jar包都复制进去并且显示正常后我开始配置log4j日志文件
在这里插入图片描述

###setting###
log4j.rootLogger = debug,stdout,D,E
 
###direct log messages to stdout###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
 
### direct debug messages to E://logs/log.log###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
 
### direct error messages to E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E\://logs/error.log 
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

这是我的配置文件内容,主要是将debug和error的日志文件输出到控制台并且在e盘logs文件夹下生成debug.log和error.log日志文件。

接下来我建立了一个数据库并且建立了例表,如图:
在这里插入图片描述
sql语句也是例子可以做个参考:

create table customer(
id int primary key auto_increment,
name varchar(20),
gender char(10),
tel varchar(20),
address varchar(50)
);

在建立完数据库和表的一系列操作后就可以写实体类了,写有关表中信息的数据:

package com.ssm.doamin;

public class Customer {

	private Integer id;
	private String name;
	private String gender;
	private String tel;
	private String address;
	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 getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public String getTel() {
		return tel;
	}
	public void setTel(String tel) {
		this.tel = tel;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	
}

这一步完成之后我们需要建立SQL映射文件,在这个文件里主要是mapper映射请求。insert部分可以替换为update等其他的sql语句,但是标签也要做替换。

<?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">
<!-- 编写dao接口的方法 -->
<mapper namespace="com.ssm.dao.CustomerMapper">
<!-- 添加客户 -->
<insert id="saveCustomer" parameterType="com.ssm.doamin.Customer">
	INSERT INTO user.customer
	(
	name,
	gender,
	tel,
	address
	)
	VALUES
	(
	#{name},
	#{gender},
	#{tel},
	#{address}
	)

</insert>
</mapper>

完成这一步后,写一个接口,因为是入门,所以我只写了一个添加的功能接口。

import com.ssm.doamin.Customer;

public interface CustomerMapper {

	//添加客户
	public void saveCustomer(Customer customer);
}

这段其实是一个dao层。
写完接口我们要连接数据库,我这里用的mysql,所以我们还需要写一个连接数据库用的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>
	<!-- 单独使用mybatis时的环境变量 -->
	<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/user?characterEncoding=utf-8" />
				<property name="username" value="root" />
				<property name="password" value="123123" />
			</dataSource>
		</environment>
	</environments>
	<!-- 查找SQL映射文件 -->
	<mappers>
		<mapper resource="mapper/CustomerMapper.xml" />
	</mappers>
</configuration>

最后这一块mapper很重要,这一块就是寻找映射文件已达成映射作用。
到这里所有的配置文件和连接dao层都已经写完了,接下来我将写最后的测试类看是否成功。

package com.ssm.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 org.junit.Test;

import com.ssm.dao.CustomerMapper;
import com.ssm.doamin.Customer;

public class MybatisTest {

	@Test
	public void test() throws IOException{
		//创建sqlsessionFactoryBuilder
		SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
		//加载sqlMapConfig.xml文件
		InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");
		//创建sqlsessionFactory
		SqlSessionFactory factroy =builder.build(in);
		//打开sqlsession
		SqlSession sqlSession = factroy.openSession();
		//获取Mapper接口的对象
		CustomerMapper customerMapper = sqlSession.getMapper(CustomerMapper.class);
		//操作
		Customer customer = new Customer();
		customer.setName("校长");
		customer.setGender("man");
		customer.setTel("1031-8888888");
		customer.setAddress("**********");
		
		customerMapper.saveCustomer(customer);
		//提交事务
		sqlSession.commit();
		//关闭资源
		sqlSession.close();
		
	}
}

最后总结了一下,我发现mybatis的实现是一个洋葱型的形式,首先要实现SqlSessionFactoryBuilder,然后根据SqlSessionFactoryBuilder实现SqlSessionFactory,然后实现SqlSession,最后写出操作,提交事务等等。其实也不算太难。以上经验希望初入mybatis的哥们儿可以用的上。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值