MyBatis入门笔记(下载安装以及简单增删改查)

1.首先说下什么是MyBatis:

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录,以上来自百度百科

2.然后说一下MyBatis的下载安装:

  1. 根据自己的需要下载哪个版本的 https://github.com/mybatis/mybatis-3/releases
  2. 下载之后解压:lib目录是mybatis依赖包,主目录下面有一个mybatis主jar包,讲这些包都导入项目
  3. 除了需要上述的jar包之外,还需要一个与数据库连接的数据库驱动包,比如我是用的mysql数据库,就需要用到java与mysql的连接包
  4. 上面工作做完之后就可以开始使用了

3.上述做完之后可以进行代码部分了:

咱们这个增删改查是对于一个用户表,用户表两个字段id,username
具体步骤:

  1. 创建pojo包,也就是javaBean
  2. 创建各种配置文件包括log4j的配置文件log4j.properties(模板在mybatis的官方文档8.1.1.2),MyBatis的主配置文件MyBatis-Config.xml(模板在mybatis官方文档2.1.2),还有数据库配置文件db.properties,这三个文件放在src下
  3. 创建表映射mapper配置文件,注意要把这个mapper文件放到单独的一个mapper包下面,命名最好为表名+mapper,例如咱们这个就是UserMapper.xml(模板在mybatis官方文档2.1.5)
  4. 写测试类进行测试
  5. log4j配置文件不要也行,但是建议加上,因为你能看到日志输出,程序在哪一步卡住等等

下面是相关步骤的具体代码和说明:

1.首先是pojo就不贴代码了,和数据库表字段一致就行
2.log4j配置文件:

log4j.rootLogger=ERROR, stdout
log4j.logger.com.cheng.mapper=TRACE
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

mybatis主配置文件
<?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="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="${driver}" />
				<property name="url" value="${url}" />
				<property name="username" value="${username}" />
				<property name="password" value="${password}" />
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<mapper resource="com/cheng/mapper/UserMapper.xml" />
	</mappers>
</configuration>

其中用properties标签引入数据库的配置文件,在里面配置数据库的信息,然后在后面配置一下mapper的路径,目前咱们用resource来引入mapper文件。

数据库配置文件db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql:///user
username=root
password=123456
3.mapper文件的配置
<?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="com.cheng.mapper">
 <select id="findUserById" resultType="com.cheng.po.User">
 	select * from t_user where id=#{id}
 </select>
</mapper>

namespace写你mapper所在的包,在后面调用时候会用到,mapper里面有很多种标签,咱们入门先用select标签,先写一个简单的查询,id是最好能简单看出来你这个查询是干什么用的,resultType是查询后返回值的类型。后面博客会详细说明配置文件的各种标签。

4.写测试类进行测试
package com.cheng.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.cheng.po.User;

public class MybatisTest {
	
	@Test
	public void testFindUserById() throws IOException {
		//读取配置文件
		InputStream inputStream = Resources.getResourceAsStream("Mybatis-Config.xml");
		//根据配置文件创建SqlSessionFactory
		SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
		//用工厂创建sqlSession
		SqlSession sqlSession = sessionFactory.openSession();
		//用sqlSession来进行操作
		User user = sqlSession.selectOne("com.cheng.mapper.findUserById", 2);
		System.out.println(user);
	}

}

用Resources的getResourceAsStream方法来获取配置文件的输入流,
再根据这个输入流来创建SqlSessionFactory,
再用这个工厂来创建SqlSession,
最后用SqlSession来通过namespace.id来执行到相应的sql语句,最后输出user看看能否查询到。

5.总结:

上面只是一个简单的查询,删除,修改,增加都是在mapper里面创建相应的标签和写相应的sql语句来执行的。
更新:

<update id="updateUser" parameterType="com.cheng.bean.User" >
		update t_user set name=#{name} where id=#{id}
	</update>

删除:

<delete id="deleteUserById" parameterType="int">
		delete from t_user where id=#{id}
	</delete>

parameterType是sql里参数的类型,有多个可以直接传入bean
增加:

<insert id="insertUser" parameterType="com.cheng.bean.User">
		insert into t_user(username) VALUES(#{username})
	</insert>

这就是mybatis的基本入门啦~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值