日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/2 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java mybatis 教程_(整理)MyBatis入门教程(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文轉載:

本人文筆不行,根據上面博客內容引導,自己整理了一些東西

首先給大家推薦幾個網頁:

MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis 。2013年11月遷移到Github。

一、理解什么是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

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)

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

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;

}

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();

}

}

}

新增運行結果:

如果返回Map

select username,id from

t_user where

id=#{id}

返回List>

SELECT * FROM t_user

總結

以上是生活随笔為你收集整理的java mybatis 教程_(整理)MyBatis入门教程(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。