博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习Mybatis与mysql数据库的示例笔记
阅读量:6983 次
发布时间:2019-06-27

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

目录结构:

 

pom.xml文件

1 
2
5
4.0.0
6 7
xfj.mac
8
MyBatisOne
9
1.0-SNAPSHOT
10
pom
11 12
13
14
junit
15
junit
16
4.12
17
18
19
20
org.mybatis
21
mybatis
22
3.4.5
23
24
25
mysql
26
mysql-connector-java
27
5.1.28
28
29
30 31
32
33
34
maven-compiler-plugin
35
36
1.8
37
1.838
UTF-8
39
40
41
42
43 44

 mybatis.xml

1 
2 4 5
6
7
8
9
10 11
13
14
15 16
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 34
35
36
37
38

userDao.xml

INSERT INTO MAC_USER VALUES(#{userId},#{userName},#{phone})
DELETE FROM MAC_USER WHERE user_id = #{userId}

User.java

1 package xfj.mybatis.entity; 2  3 public class User { 4  5     private Integer userId ; 6  7     private String userName ; 8  9     private String phone ;10 11     public Integer getUserId() {12         return userId;13     }14 15     public void setUserId(Integer userId) {16         this.userId = userId;17     }18 19     public String getUserName() {20         return userName;21     }22 23     public void setUserName(String userName) {24         this.userName = userName;25     }26 27     public String getPhone() {28         return phone;29     }30 31     public void setPhone(String phone) {32         this.phone = phone;33     }34 }

UserDao.java

package xfj.mybatis.dao;import xfj.mybatis.entity.User;public interface UserDao {        void insertUser(User user) ;        void deleteUser(Integer userId) ;}

UserDaoImpl.java

package xfj.mybatis.dao.impl;import org.apache.ibatis.session.SqlSession;import xfj.mybatis.dao.UserDao;import xfj.mybatis.entity.User;import xfj.mybatis.utils.MybatisUtl;public class UserDaoImpl implements UserDao {        SqlSession session =  MybatisUtl.getSqlSession() ;    @Override    public void insertUser(User user) {       //SqlSession session =  MybatisUtl.getSqlSession() ;        try {            //执行保存操作            session.getMapper(UserDao.class).insertUser(user);        }catch(RuntimeException e){            e.printStackTrace();            //事务回滚            session.rollback();        }finally{            //关闭session            session.close();        }    }    @Override    public void deleteUser(Integer userId) {        try {            //执行删除操作            session.getMapper(UserDao.class).deleteUser(userId);        }catch (RuntimeException e){            e.printStackTrace();            session.rollback();        }finally {            session.close();        }    }}

MybatisUtil.java

 

package xfj.mybatis.utils;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 java.io.IOException;import java.io.InputStream;public class MybatisUtl {    /*定义SqlSessionFactory ,用来创建实例化sessionFactory*/    private static SqlSessionFactory sqlSessionFactory ;    static {        try {            //通过mybatis核心额配置文件,并创建一个输入流用来读取xml文件           InputStream is =  Resources.getResourceAsStream("mybatis.xml") ;           //创建一个SqlSessionFactoryBuilder构建器来实例化一个SqlSessionFactory,            //build方法传入一个输入流来解析配置文件,从而创建SqlSessionFactory          sqlSessionFactory =  new SqlSessionFactoryBuilder().build(is) ;        } catch (IOException e) {            e.printStackTrace();            throw new RuntimeException("mybatisUtil error!!") ;        }    }    //创建一个获取sqlsession的静态方法    public static SqlSession getSqlSession(){        return sqlSessionFactory.openSession(true) ;    }    public static void main(String[] args) {        System.out.println(getSqlSession());    }}

UserDaoTest.java测试类:

package xfj.mybatis.test;import org.junit.Test;import xfj.mybatis.dao.UserDao;import xfj.mybatis.dao.impl.UserDaoImpl;import xfj.mybatis.entity.User;public class UserDaoTest {    /*@Test   public void insertUser(){        User user1 = new User() ;        user1.setUserId(13);        user1.setUserName("恭喜");        user1.setPhone("1265416989");        userDao.insertUser(user1);    }*/    @Test    public void deleteUser(){        UserDao userDao = new UserDaoImpl() ;        //User user = new User() ;        userDao.deleteUser(4);    }}

mybatis入门学习笔记,comeon

转载于:https://www.cnblogs.com/aa1314/p/8618602.html

你可能感兴趣的文章
因新漏洞问题 Firefox 49发布时间将延期一周
查看>>
WLAN产品形态之分层架构
查看>>
《敏捷可执行需求说明 Scrum提炼及实现技术》—— 1.2 识别不确定性的影响
查看>>
Chrome 隐藏 SSL 证书信息 禁止禁用 DRM
查看>>
《Windows Server 2012 Hyper-V虚拟化管理实践》——3.2 Hyper-V主机日常管理
查看>>
《C语言编程魔法书:基于C11标准》——第一篇 预备知识篇 第1章 C魔法概览1.1 例说编程语言...
查看>>
《IPv6安全》——1.7 推荐读物和资料
查看>>
《实施Cisco统一通信管理器(CIPT2)》一1.2 概述部署多站点环境时将会遇到的挑战...
查看>>
《Photoshop Lab修色圣典(修订版)》—第1课深入讨论
查看>>
Chromium 操作系统即将支持所有 SBC 单板电脑
查看>>
《CCNP安全Secure 642-637认证考试指南》——第8章 配置与实施路由式数据面安全...
查看>>
Remix OS PC 版面向全球开放
查看>>
Debian GNU/Linux 9 将切换至 GCC6 编译器
查看>>
《VMware 网络技术:原理与实践》—— 3.2 以太网
查看>>
《程序员的修炼——从优秀到卓越》一一1.6 勿以专家自居
查看>>
《Adobe Illustrator CS5中文版经典教程》—第0课0.5节使用绘图模式
查看>>
AngularJS 的自定义指令
查看>>
《CCNA ICND2(200-101)认证考试指南(第4版)》——第1章定义生成树协议
查看>>
什么样的 RPC 才是好用的 RPC
查看>>
《Adobe Premiere Pro CC经典教程》——14.6 特殊颜色效果
查看>>