博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis入门教程(基于Mybatis3.2)
阅读量:4307 次
发布时间:2019-06-06

本文共 3272 字,大约阅读时间需要 10 分钟。

 

MyBatis和Hibernate一样都是基于ORM的关系型数据库框架

ORM工具的基本思想:

1.从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. sessionfactory 产生 session 3. session中完成对数据的增删改查和事务提交等. 4. 在用完之后关闭session

5.java对象和数据库之间有做mapping的配置文件,也通常是xml文件。

 

 

MyBatis 是支持 普通 SQL 查询 , 存储过程 和 高级映射 的优秀持久框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。

 

本文就一个demo的形式,讲诉MyBatis的数据库操作过程,新建一个web项目,项目结构如图:

我们需要准备mybatis3.2.jar和mysql的jar,日志输出的jar根据自己项目的需要

 

 

新建数据库,数据表是users,设置id为主键,同时自动增长

 

 

新建一个资源文件config

编写数据库配置信息文件db.properties:

driver=com.mysql.jdbc.Driverurl=jdbc\:mysql\://localhost\:3306/db_mysql?useUnicode\=true&characterEncoding\=utf-8username=rootpassword=111

 

 

 

编写pojo类:

package com.mybatis.entity;public class User {	/*	 * ID	 */	private int id;		/*	 * 用户姓名 	 */	private String name;		/*	 * age	 */	private int age;	public int getId() {		return id;	}	public void setId(int id) {		this.id = id;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public int getAge() {		return age;	}	public void setAge(int age) {		this.age = age;	}		@Override	public String toString() {		return "User [id=" + id + ", name=" + name + ", age=" + age + "]";	}	}

 

 

 

编写pojo类对应的mapper文件:

insert into users(id,name,age) value(#{name},#{age})
update users set name=#{name},age=#{age} where id=#{id}
delete from users where id=#{id}

 

 

然后,在编写MyBatis的配置文件:

 

 

测试类:

import java.io.Reader;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 com.mybatis.entity.User;public class Test {	public static void main(String[] args) {		String resource = "mybatis-config.xml";		try{			//加载Mybatis的配置文件			Reader reader = Resources.getResourceAsReader(resource);			//构建sqlSession的工厂	        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);			//创建可以执行sql的SqlSession	        SqlSession session = sessionFactory.openSession();			//映射sql的标志字符串	        String statement = "com.mybatis.mapper.userMapper.findById";	        //执行查询返回id为1的User对象			User user = session.selectOne(statement,1);			System.out.println(user);					}catch (Exception e) {			e.printStackTrace();		}	}}

然后,可以编写日志文件,进行日志输出

log4j.properties\uFF0Clog4j.rootLogger=DEBUG, Console#Consolelog4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%nlog4j.logger.java.sql.ResultSet=INFOlog4j.logger.org.apache=INFOlog4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUG

运行测试类,可以输出,说明我们的mybatis搭建好了,可以进行数据库操作

 

 

需要注意的:

为了统一编码,建议新建数据库时设置成utf-8的

还有测试时,那个id一定要和userMapper.xml里的id对应,mybatis是根据这个id调用sql函数的哦

配置mybatis文件时,一定要注意顺序,一般都是先配置别、数据库配置、然后mapper文件注册的

 

 

 

转载于:https://www.cnblogs.com/mzq123/p/5450632.html

你可能感兴趣的文章
克罗谈投资策略02_赢家和输家
查看>>
克罗谈投资策略03_你所期望的赌博方式
查看>>
克罗谈投资策略04_感觉与现实
查看>>
通向财务自由之路01_导读
查看>>
通向财务自由之路02_成功的决定因素:你
查看>>
中低频量化交易策略研发01_引言
查看>>
中低频量化交易策略研发06_推进的择时策略
查看>>
史丹·温斯坦称傲牛熊市的秘密
查看>>
期货市场技术分析01_理论基础
查看>>
期货市场技术分析02_趋势的基本概念
查看>>
期货市场技术分析03_主要反转形态
查看>>
期货市场技术分析04_持续形态
查看>>
期货市场技术分析05_交易量和持仓兴趣
查看>>
TB交易开拓者入门教程
查看>>
TB创建公式应用dll失败 请检查用户权限,终极解决方案
查看>>
python绘制k线图(蜡烛图)报错 No module named 'matplotlib.finance
查看>>
talib均线大全
查看>>
期货市场技术分析06_长期图表和商品指数
查看>>
期货市场技术分析07_摆动指数和相反意见理论
查看>>
满屏的指标?删了吧,手把手教你裸 K 交易!
查看>>