java mybatis 教程_(整理)MyBatis入门教程(一)

本文转载:

本人文笔不行,根据上面博客内容引导,自己整理了一些东西

首先给大家推荐几个网页:

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

da3ef47e9ac92943a7c60cf9b53203a4.png

一、理解什么是MyBatis?

MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索。MyBatis 可以使用简单的XML 或注解用于配置和原始映射,将接口和 Java 的 POJO( Plain Old Java Objects,普通的Java 对象)映射成数据库中的记录.

1)MyBATIS 目前提供了三种语言实现的版本,包括:Java、.NET以及Ruby。(我主要学习java,就讲java的使用)

2)它提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。

3)mybatis与hibernate的对比?

mybatis提供一种“半自动化”的ORM实现。

这里的“半自动化”,是相对Hibernate等提供了全面的数据库封装机制的“全自动化”ORM实现而言,“全自动”ORM实现了POJO和数据库表之间的映射,以及 SQL 的自动生成和执行。

而mybatis的着力点,则在于POJO与SQL之间的映射关系。

二、简单例子(快速入门)

1)首先建立项目java web

996b7dc0899c9f4ad336585b51ddef0a.png

2)配置mybatis所需的jar包,pom.xml

mysql

mysql-connector-java

5.1.35

org.mybatis

mybatis

3.2.8

org.slf4j

slf4j-api

1.7.7

ch.qos.logback

logback-core

1.1.3

ch.qos.logback

logback-access

1.1.3

ch.qos.logback

logback-classic

1.1.3

3)创建数据库数据(mybatis),创建表(t_user)

73ee1bab66b46d87aa0b2a45bb20f9c6.png

CREATE TABLE `t_user` (

`id` int(11) NOT NULL auto_increment,

`username` varchar(20) default NULL,

`password` varchar(20) default NULL,

`account` double(10,2) default NULL,

PRIMARY KEY  (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8

4)mysql驱动配置文件mysql.properties

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis

jdbc.username=admin

jdbc.password=123456

5)添加mybatis配置文件mybatis.cfg.xml

6bcc692db5b555ed6f50d5dce8cda0c6.png

6)创建对应的实体对象

7)创建方法接口UserMapper.java和定义操作t_user表的sql映射文件UserMapper.xml

提供简单的增删改查数据信息。

packagecom.wenyin.mybatis.mapper;importjava.util.List;importcom.wenyin.mybatis.beans.UserBean;public interfaceUserMapper {/*** 新增用戶

*@paramuser

*@return*@throwsException*/

public int insertUser(UserBean user) throwsException;/*** 修改用戶

*@paramuser

*@paramid

*@return*@throwsException*/

public int updateUser (UserBean user,int id) throwsException;/*** 刪除用戶

*@paramid

*@return*@throwsException*/

public int deleteUser(int id) throwsException;/*** 根据id查询用户信息

*@paramid

*@return*@throwsException*/

public UserBean selectUserById(int id) throwsException;/*** 查询所有的用户信息

*@return*@throwsException*/

public List selectAllUser() throwsException;

}

b698d8baa718bdac5117496bd91c0514.png

UserMapper.xml

insert into t_user (username,password,account) values (#{username},#{password},#{account})

update t_user set username=#{username},password=#{password},account=#{account} where id=#{id}

delete from t_user where id=#{id}

select * from t_user where id=#{id}

select * from t_user

这时需要为mybatis.cfg.xml里注册UserMapper.xml文件。

参照第5)步骤

8)需要建立一个工具类文件

packagecom.wenyin.mybatis.tools;importjava.io.Reader;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;public classDBTools {public staticSqlSessionFactory sessionFactory;static{try{//使用MyBatis提供的Resources类加载mybatis的配置文件

Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml");//构建sqlSession的工厂

sessionFactory = newSqlSessionFactoryBuilder().build(reader);

}catch(Exception e) {

e.printStackTrace();

}

}//创建能执行映射文件中sql的sqlSession

public staticSqlSession getSession(){returnsessionFactory.openSession();

}

}

9)写个测试UserService.java

packagecom.wenyin.mybatis.service;importjava.util.List;importorg.apache.ibatis.session.SqlSession;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importcom.wenyin.mybatis.beans.UserBean;importcom.wenyin.mybatis.mapper.UserMapper;importcom.wenyin.mybatis.tools.DBTools;public classUserService {private static Logger logger = LoggerFactory.getLogger(UserService.class);public static voidmain(String[] args) {

insertUser();//deleteUser(1);//selectUserById(2);//selectAllUser();

}/*** 新增用户*/

private static booleaninsertUser(){

SqlSession session=DBTools.getSession();

UserMapper mapper= session.getMapper(UserMapper.class);

UserBean user= new UserBean("test01", "123456", 7000.0);try{int index=mapper.insertUser(user);boolean bool=index>0?true:false;

logger.error("新增用户user对象:{},操作状态:{}",newObject[]{user,bool});

session.commit();returnbool;

}catch(Exception e) {

e.printStackTrace();

session.rollback();return false;

}finally{

session.close();

}

}/*** 删除用户

*@paramid 用户ID*/

private static boolean deleteUser(intid){

SqlSession session=DBTools.getSession();

UserMapper mapper=session.getMapper(UserMapper.class);try{int index=mapper.deleteUser(id);boolean bool=index>0?true:false;

logger.debug("根据用户id:{},操作状态{}",newObject[]{id,bool});

session.commit();returnbool;

}catch(Exception e) {

e.printStackTrace();

session.rollback();return false;

}finally{

session.close();

}

}/*** 根据id查询用户

*@paramid*/

private static void selectUserById(intid){

SqlSession session=DBTools.getSession();

UserMapper mapper=session.getMapper(UserMapper.class);try{

UserBean user=mapper.selectUserById(id);

logger.debug("根据用户Id:{},查询用户信息:{}",newObject[]{id,user});

session.commit();

}catch(Exception e) {

e.printStackTrace();

session.rollback();

}finally{

session.close();

}

}/*** 查询所有的用户*/

private static voidselectAllUser(){

SqlSession session=DBTools.getSession();

UserMapper mapper=session.getMapper(UserMapper.class);try{

List user=mapper.selectAllUser();

logger.debug("获取所用的用户:{}",user);

session.commit();

}catch(Exception e) {

e.printStackTrace();

session.rollback();

}finally{

session.close();

}

}

}

新增运行结果:

db97d1f8b2165ecbe21fc75cf2a931c9.png

如果返回Map

select username,id from

t_user where

id=#{id}

返回List>

SELECT * FROM t_user

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值