文档章节

MyBatis入门基本的配置介绍

小贱是个程序员
 小贱是个程序员
发布于 2016/11/17 14:44
字数 691
阅读 23
收藏 0

工具:Eclipse

首先下载Mabatis所需要的jar包,导包

 

然后配置mybatis核心文件取名mybatis.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="jdbc_mysql.properties"/>
	
	<!-- 和spring整合后 environments配置将废除-->
	<environments default="development">
		<environment id="development">
		<!-- 使用jdbc事务管理-->
			<transactionManager type="JDBC" />
		<!-- 数据库连接池-->
			<dataSource type="POOLED">
				<property name="driver" value="${jdbc.driver}" />
				<property name="url" value="${jdbc.url}" />
				<property name="username" value="${jdbc.username}" />
				<property name="password" value="${jdbc.password}" />
			</dataSource>
		</environment>
	</environments>
	
	<mappers>
		<mapper resource="User.xml"/>
	</mappers>

</configuration>

然后配置连接数据库的资源文件,取名 jdbc_mysql.properties,取名要有意义

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8
jdbc.username=root
jdbc.password=123

然后配置日志文件,也就是查询时输出SQL语句

# 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

然后创建一个实体User

package cn.web.entity;

import java.util.Date;

public class User {
	private int id;
	private String username;// 用户姓名
	private String sex;// 性别
	private Date birthday;// 生日
	private String address;// 地址
	
	
	public User() {
		super();
	}
	public User(int id, String username, String sex, Date birthday, String address) {
		super();
		this.id = id;
		this.username = username;
		this.sex = sex;
		this.birthday = birthday;
		this.address = address;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address="
				+ address + "]";
	}
	
	
}

然后就是Mybatis关键的一步了配置实体映射的查询语句

<?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="cn.web">


  <select id="findUserid" parameterType="int" resultType="cn.web.entity.User">
  	SELECT * FROM USER WHERE id = #{id}
  </select>
  
  <select id="findUname" parameterType="String" resultType="cn.web.entity.User">
  	SELECT * FROM USER WHERE username LIKE #{username}
  	<!-- SELECT * FROM USER WHERE username LIKE concat('%',#{username},'%') -->
  	<!-- SELECT * FROM USER WHERE username LIKE '%' #{username} '%' -->
  </select>
  
  <delete id="deleteByid" parameterType="int">
		delete from User where id=#{id}  	
  </delete>
  
  <insert id="insert" parameterType="cn.web.entity.User">
  	<selectKey databaseId="id" order="AFTER">
  		SELECT LAST_INSERT_ID()
  	</selectKey>
  	INSERT INTO USER (id,username,sex,birthday,address) VALUES (#{id},#{username},#{sex},#{birthday},#{address})
  </insert>
  
  <update id="update" parameterType="cn.web.entity.User">
  	UPDATE USER SET username=#{username} WHERE id=#{id} 
  </update>
  
  
</mapper>

最后编写一个数据连接的MybatisUtil,用来连接数据库

package cn.web.entity;

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;

public  class MyBatisUtil {
	
	private static SqlSessionFactory sqlSessionFactory;
	
	public static SqlSession getSqlSession(){
		try {
			InputStream is = Resources.getResourceAsStream("mybatis.xml");
			if(sqlSessionFactory == null){
				sqlSessionFactory=new SqlSessionFactoryBuilder().build(is);
			}
			return sqlSessionFactory.openSession();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}
}

最后一步编写Test测试文件

package cn.web.entity;

import java.io.InputStream;
import java.util.Date;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;


public class Test {
	@org.junit.Test
	public void testName() throws Exception {
		//mybatis配置文件
		String resource ="mybatis.xml" ;
		//得到流对象
		InputStream inputStream = Resources.getResourceAsStream(resource) ;
		//创建会话工厂
		SqlSessionFactory ssf=new SqlSessionFactoryBuilder().build(inputStream);
		//通过会话工厂得到会话
		SqlSession sqs= ssf.openSession();
		//通过会话创建数据库
		User user=sqs.selectOne("cn.web.findUserid",40);
		System.out.println(user);
		//List<User> list= sqs.selectList("cn.web.findUname", "张"+"%");
		//sqs.insert("cn.web.insert",new User(40,"Make","2",new Date(),"珠海"));
		//sqs.update("cn.web.update", new User(40,"小杨",null,null,null));
		//sqs.delete("cn.web.deleteByid",30);
		//SELECT LAST_INSERT_ID()
		sqs.commit();
		//关闭会话
		sqs.close();
	}
	
}

测试成功通过

© 著作权归作者所有

共有 人打赏支持
小贱是个程序员
粉丝 3
博文 42
码字总数 18418
作品 0
珠海
程序员
Java Web学习计划

--- 本月为入门阶段,从零开始,一步一步的做出一个实用的网站。 深入学习Java语言,初步掌握前端技术,使用JSP和MySQL完成一个简单的网站 第1周 Java高级编程学习目标:
1.深入了解JDK环境...

SVD
2016/12/01
55
0
Mybatis入门到精通-Mybatis配置文件详解

6.mybatis配置文件详解 首先看一下该全局配置文件中都有哪些可以配置的东西: 配置内容 作用 用来加载属性文件 用来设置全局参数 用来设置类型的别名 用来设置类型处理器 用来设置对象工厂 ...

底层码农老陈
2017/10/23
0
0
老雷/spring-boot-starter-dao

spring-boot-starter-dao 该项目,集成spring-boot,mybatis,通用mapper,pagehelper,druid。致力于降低数据层的开发复杂度,让mybatis配置彻底告别xml,让基于mybatis的开发嵌入jpa的身影,极...

老雷
2017/09/28
0
0
Mybaits深入了解(一)----带你入门

Mybatis简介 Mybatis架构 Mybatis简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对iba...

令仔很忙
2016/07/01
0
0
MyBatis基于Maven的入门

主要内容如下: myBatis在maven中的配置 myBatis在工程中的config配置文件 myBatis为Bean和表的映射文件 myBatis基本的使用 myBatis在maven中的配置,在pom.xml中增加内容 1. 增加依赖 , myba...

新年
2016/07/15
20
0

没有更多内容

加载失败,请刷新页面

加载更多

WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
今天
14
2
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部