mybatis配置mysql数据库_Mybatis学习---连接MySQL数据库

【目录】

【MyBatis】

MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。

MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。

MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。

每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。

SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

用xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpath resource),但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。

MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。

MyBatis 最强大的特性之一就是它的动态语句功能。如果您以前有使用JDBC或者类似框架的经历,您就会明白把SQL语句条件连接在一起是多么的痛苦,

要确保不能忘记空格或者不要在columns列后面省略一个逗号等。动态语句能够完全解决掉这些痛苦。尽管与动态SQL一起工作不是在开一个party,但是MyBatis确实能通过在任何映射SQL语句中

【步骤】

①获取MyBatis加包(在😁项目基础上使用MyBatis)

2f188762e4993bd50b2a5ae555072a3e.png

②在pop.xml中添加以下代码,管理Mybatis加包

1

2

3 org.mybatis

4 mybatis

5 3.5.0

6

🌂在Java Resources中创建conf.xml

b3fb69b2558c7afcae35662a091d8146.png

④配置数据库连接信息

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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

😭查询数据库中S_User表数据----建立对应的实体类

0293aca10f8af64ce5600961520bc1e9.png

6a50842f74661e493eb24856fffdc253.png

1 packagecom.springdemo.model;2

3 public classUser {4

5 publicUser(String userId, String userName, String userPwd, String userPower) {6 super();7 this.userId =userId;8 this.userName =userName;9 this.userPwd =userPwd;10 this.userPower =userPower;11 }12

13 publicUser() {14 super();15 }16

17 private int_key;18 privateString userId;19 privateString userName;20 privateString userPwd;21 privateString userPower;22

23 public intget_key() {24 return_key;25 }26

27 public void set_key(int_key) {28 this._key =_key;29 }30

31 publicString getUserId() {32 returnuserId;33 }34

35 public voidsetUserId(String userId) {36 this.userId =userId;37 }38

39 publicString getUserName() {40 returnuserName;41 }42

43 public voidsetUserName(String userName) {44 this.userName =userName;45 }46

47 publicString getUserPwd() {48 returnuserPwd;49 }50

51 public voidsetUserPwd(String userPwd) {52 this.userPwd =userPwd;53 }54

55 publicString getUserPower() {56 returnuserPower;57 }58

59 public voidsetUserPower(String userPower) {60 this.userPower =userPower;61 }62

63 @Override64 publicString toString() {65 return "User [key=" + _key + ",id="+userId+" name=" + userName + ", power=" + userPower + "]";66 }67 }

注:创建get ,set,构造函数快捷键(右键--> source )

ec8aa2764d4528918f1810d4656d9eb0.png

⑥创建User表Sql查询映射文件userMapper.xml

fdaaf34212bb2b75d73c96669ae14429.png

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

2

3

6

7

12

13

14

15 resultType="com.springdemo.model.User">

16 select * from S_USER where _key=#{id}17

18

⑦在conf.xml文件中注册userMapper.(标签内)

1

2

4

5

⑧使用Test.java 文件添加测试

1 packagecom.springdemo.impl;2

3 importjava.io.IOException;4 importjava.io.InputStream;5 importjava.io.Reader;6 importjava.util.List;7

8 importcom.springdemo.model.User;9 importcom.springdemo.tools.DBTools;10

11 importorg.apache.ibatis.io.Resources;12 importorg.apache.ibatis.session.SqlSession;13 importorg.apache.ibatis.session.SqlSessionFactory;14 importorg.apache.ibatis.session.SqlSessionFactoryBuilder;15

16 public classTest {17

18 public static void main(String[] args) throwsIOException {19

20 //mybatis的配置文件

21 String resource = "conf.xml";22 //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)

23

24 InputStream is =Resources.getResourceAsStream(resource);25 //构建sqlSession的工厂

26

27 SqlSessionFactory sessionFactory = newSqlSessionFactoryBuilder().build(is);28 //使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)29 //Reader reader = Resources.getResourceAsReader(resource);30 //构建sqlSession的工厂31 //SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);32 //创建能执行映射文件中sql的sqlSession

33 SqlSession session =sessionFactory.openSession();34 /**

35 * 映射sql的标识字符串,36 * me.gacl.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,37 * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL38 */

39

40 /*根据——key查找*/

41 String statement = "com.springdemo.mapping.userMapper.getUser";42 //映射sql的标识字符串,getUser与映射文件中配置select标签id一致43 //执行查询返回一个唯一user对象的sql

44 User user = session.selectOne(statement,2);45 System.out.println(user);46

47 }

⑨执行结果

228de6bf3b6fb2a011a193d290d91207.png

【增删改查】

修改userMapper.xml统一管理返回类型

1

2

3

4

5

6

7

resultMap设置对应的实体类

①查询所有user记录

🍕userMapper.xml配置

select * from s_user

resultMap设置返回的ReusltMap

🍔测试java代码

1 String stateselect = "com.springdemo.mapping.userMapper.selectUser";2 List userList =session.selectList(stateselect);3 for(int i=0;i

②删除指定user记录

🍟userMapper.xml配置

delete from S_user where _key=#{_key}

🌭测试java代码

1 String statementdl = "com.springdemo.mapping.userMapper.deleteUser";2 try{3 session.delete(statementdl,4);4 session.commit();5 } catch(Exception e) {6 e.printStackTrace();7 session.rollback();8 }

🌂更新user表记录

🍿userMapper.xml配置

update S_user set userPwd=#{userName},userPwd=#{userPwd},userPower=#{userPower} where _key=#{_key}

🥓测试java代码

1 String statementup = "com.springdemo.mapping.userMapper.updateUser";2 User userup = new User("wqyx","wqyx", "hhh","超级");3 userup.set_key(2);4 try{5 session.update(statementup, userup);6 session.commit();7 } catch(Exception e) {8 e.printStackTrace();9 session.rollback();10 }

④新增user表记录

🍿userMapper.xml配置

insert into S_USER (userId,userName,userPwd,userPower) values (#{userId},#{userName},#{userPwd},#{userPower})

🥓测试java代码

1 String statementIn = "com.springdemo.mapping.userMapper.insertUser";2 User userin = new User("wll","wll", "123456","7000");3 try{4 session.insert(statementIn,userin);5 session.commit();6 } catch(Exception e) {7 e.printStackTrace();8 session.rollback();9 }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值