mybatis mysql demo_Mybatis入门demo

最近参考其他大佬的博客整理了一个mybatis的入门小demo,话不多说,开始吧!

一、首先是Mybatis的介绍

(1)Mybatis是一款优秀的持久层框架。它支持定制SQL、存储过程及高级映射。通过映射的方式,灵活生成(半自动化,大部分需要程序员编写sql)满足需要的sql语句。

(2)Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集

(3)Mybatis可以使用简单的xml或注解来配置和映射原生信息,将接口和java的实体类映射成数据库中的记录。

二、Mybatis的执行流程

82d5063df2629e98f235f47cf8a2c01a.png

三、Mybatis开发步骤

1、新建web项目

2、导入所需要的jar包

3、创建数据库

4、建立所需要的包:bean、mapper、service、tools、mybatis

5、根据数据库中的表创建实体类

6、在mybatis包下新建mybatis的配置文件,并在其中配置相关信息

7、在mapper包下创建方法接口和对应的xml文件

8、在mybatis的配置文件中加入新建的映射xml文件信息(如果是一个一个配置的话需要写该步骤,如果配置的是整个包,就不需要该步骤,只配置一次即可)

9、在tools包中新建一个工具类,并配置SqlSession等

10、在service包下根据mapper包下的接口类新建一个测试类,写业务逻辑。

四、使用Mybatis开发的具体步骤

1、新建web项目,我的项目名称为mybatis_test

db2a4a9ac47a3fcfd66d3eb9eaf8e22a.png

2、导入所需要的jar包

7f78f64d374411f78e93cb85d7e0fa74.png

3、创建数据库

数据库的名称为mybatis_test,表名为user,结构如下:

f952e768f8faedaea1e1ded1becc9765.png

4、建立所需要的包:bean、mapper、service、tools、mybatis

1e3564d3ae7bd42c71cf9738f87b02aa.png

5、根据数据库中的表在bean包中创建实体类 :UserBean

1 packagebean;2

3 public classUserBean {4 private intid;5 privateString username;6 privateString password;7 public intgetId() {8 returnid;9 }10 public void setId(intid) {11 this.id =id;12 }13 publicString getUsername() {14 returnusername;15 }16 public voidsetUsername(String username) {17 this.username =username;18 }19 publicString getPassword() {20 returnpassword;21 }22 public voidsetPassword(String password) {23 this.password =password;24 }25 @Override26 publicString toString() {27 return "UserBean [id=" + id + ", username=" + username + ", password=" + password + "]";28 }29 public UserBean(intid, String username, String password) {30 super();31 this.id =id;32 this.username =username;33 this.password =password;34 }35 publicUserBean() {36 super();37 }38 publicUserBean(String username, String password) {39 super();40 this.username =username;41 this.password =password;42 }43

44

45 }

6、在mybatis包下新建mybatis的配置文件,我的取名为mybatis,并在其中配置相关信息

7、在mapper包下创建方法接口Usesbean和对应的xml文件

380d71bce3bd0ff12f628c57eda3e293.png

UserMapper.java中的代码:

1 packagemapper;2

3 importjava.util.List;4

5 importbean.UserBean;6

7 public interfaceUserMapper {8 /**

9 * description select all users10 */

11 public ListselectAllUser();12

13 /**

14 * description insert15 */

16

17 public intinsertUser(UserBean userbean);18

19 /**

20 * description delete user by id21 *22 */

23 public int deleteUserById(intid);24

25 /**

26 * description update user27 *28 */

29 public intupdateUser(UserBean userbean);30

31 /**

32 * description select user by id33 *34 */

35 public UserBean selectUserById(intid);36

37 }

UserMapper.xml中的代码:

1 <?xml version="1.0" encoding="UTF-8"?>

2

3

4

5

6

7

8

9

10 select *from user11

12

13 insert into user(username,password)values(#{username},#{password})14

15

16 delete from user where id=#{id}17

18

19 update user set username=#{username},password=#{password} where id=#{id}20

21

22 select * from user where id=#{id}23

24

8、在mybatis的配置文件中加入新建的映射xml文件信息(如果是一个一个配置的话需要写该步骤,如果配置的是整个包,就不需要该步骤,只配置一次即可),在这里我配置的是整个包,所有该步骤忽略。

9、在tools包中新建一个工具类,并配置SqlSession等

1 packagetools;2

3 importjava.io.IOException;4 importjava.io.Reader;5

6 importjavax.annotation.Resource;7

8 importorg.apache.ibatis.io.Resources;9 importorg.apache.ibatis.session.SqlSession;10 importorg.apache.ibatis.session.SqlSessionFactory;11 importorg.apache.ibatis.session.SqlSessionFactoryBuilder;12

13 public classDB {14 public staticSqlSessionFactory sf;15 static{16 Reader reader;17 try{18 reader=Resources.getResourceAsReader("mybatis/mybatis.xml");19 sf=newSqlSessionFactoryBuilder().build(reader);20 } catch(IOException e) {21 e.printStackTrace();22 }23 }24 public staticSqlSession getSession(){25 returnsf.openSession();26

27 }28

29 }

10、在service包下根据mapper包下的接口类新建一个测试类,写业务逻辑。

1 package service;

2

3 importjava.util.List;4

5 importorg.apache.ibatis.session.SqlSession;6

7 importbean.UserBean;8 importmapper.UserMapper;9 importtools.DB;10

11 public classUserService {12 public static voidmain(String[] args) {

//根据情况将某个方法放开注释或加上注释13 selectAllUser();14 //insertUser();15 //deleteUserById();16 // updateUser();

17 }18

19 private static voidselectAllUser() {20 SqlSession session =DB.getSession();21 UserMapper mapper = session.getMapper(UserMapper.class);22 try{23 List user =mapper.selectAllUser();24 System.out.println(user.toString());25 session.commit();26

27 } catch(Exception e) {28 e.printStackTrace();29 session.rollback();30 }31 }32

33 private voidinsertUser() {34 SqlSession session =DB.getSession();35 UserMapper mapper = session.getMapper(UserMapper.class);36 try{37 UserBean userbean = new UserBean("zs", "123");38 mapper.insertUser(userbean);39 System.out.println(userbean.toString());40 session.commit();41 } catch(Exception e) {42 e.printStackTrace();43 session.rollback();44 }45

46 }47

48 private static voiddeleteUserById() {49 SqlSession session =DB.getSession();50 UserMapper mapper = session.getMapper(UserMapper.class);51 try{52 mapper.deleteUserById(3);53 System.out.println("删除成功");54 session.commit();55 } catch(Exception e) {56 e.printStackTrace();57 session.rollback();58 }59 }60

61 private static voidupdateUser() {62 SqlSession session =DB.getSession();63 UserMapper mapper = session.getMapper(UserMapper.class);64 UserBean userbean = mapper.selectUserById(4);65 System.out.println("修改之前的userbean:" +userbean);66 try{67 userbean.setUsername("hhh");68 userbean.setPassword("111");69 mapper.updateUser(userbean);70 System.out.println("修改之后的userbean:" +userbean);71 session.commit();72 } catch(Exception e) {73 e.printStackTrace();74 session.rollback();75 }76

77 }78 }

若UserService中的main方法中未加注释的方法是selectAllUser的方法,运行该main方法,查询到的结果为:

d65ee4f80bdf681002e98565c200b7bc.png

好啦,以上就是全部的demo内容,本人小白,有什么错误或者不规范的地方请各位大佬提出意见或者建议~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值