MyBatis简介

MyBatis是一款优秀的持久层框架,用于简化JDBC开发

持久层:负责将数据保存到数据库的那一层代码

JAVAEE三层结构:表现层,业务层,持久层

表现层:页面展示

业务层:逻辑处理

持久层:对数据的持久化,将数据保存到数据库中

框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型

在框架的编写上可使编写更加高效,规范,通用,可扩展

官网:https://mybatis.org/mybatis-3/zh/index.html

JDBC的缺点:

1、硬编码:

注册驱动,获取连接:Class.forName("com.mysql.jdbc.Driver");

String url="";

String uname="";

String pwd="";

Connection conn=DriverManger.getConnection(url,uname,pwd);

SQL语句:String sql="select * from tb_user where gender=?";

2、操作繁琐

手动设置参数

手动封装结果集

获取pstmt对象

PreparedStatement pstmt=conn.preparedStatement(sql);

设置参数值:

pstmt.setString(1,gender);

执行sql

ResultSet rs=pstmt.excuteQuery();

遍历Result,获取数据

User user=null;

List<User> users=new ArrayList<>();

while(rs.next()){

//获取数据

int id=rs.getInt("id");

String usename=rs.getString("usename");

String password=rs.getString("password");

//创建对象,设置其属性值

user=new User();

user.setId(id);

user.setUsename(usename);

user.setPassword(password);

user.setGender(gender);

//装入集合中

users.add(user);

}

MyBatis简化JDBC:

1.将字符串信息写到scr-java-rescources目录下mybatis-config.xml配置文件中:

<!--数据库的连接信息-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>

2.sql语句:Mybatis将其抽取到配置文件UserMapper.xml中去

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
namespace:名称空间
-->
<mapper namespace="test">
    <select id="selectAll" resultType="com.itheima.pojo.User">
        select * from tb_user;
    </select>
</mapper>

3.在Mybatis中将设置参数,执行sql,遍历数据,封装对象写在

//1、加载Mybatis的核心配置文件,获取sqlSessionFactory
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

//2、获取sqlsession对象,用它来执行sql
SqlSession sqlSession = sqlSessionFactory.openSession();
//3、执行sql语句
List<User> users = sqlSession.selectList("test.selectAll");
System.out.println(users);
//4、释放资源
sqlSession.clearCache();

MyBatis优点:几乎免除了所有的JDBC代码以及设置参数和获取结果集的工作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值