在JavaWeb开发中,MyBatis是一款非常流行的持久层框架,它封装了JDBC操作的诸多细节,使开发者能够更专注于业务逻辑的实现。本文将从一个初学者的角度开始,通俗易懂地讲解MyBatis的基本概念和用法,帮助大家更好地掌握这一技术。
MyBatis是一个优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原始类型、接口和Java POJO(Plain Old Java Objects,普通的Java对象)为数据库中的记录。
这是MyBatis的核心接口之一,负责创建SqlSession实例。SqlSessionFactory的生命周期是全局的,一旦创建,就可以在应用的整个生命周期中使用。
这是MyBatis的核心接口之一,代表和数据库的一次会话。SqlSession中包含了执行SQL所需的所有方法,例如查询、插入、更新和删除等。
Mapper是MyBatis中非常重要的一个概念,它代表一个SQL映射文件,用于定义SQL语句以及输入参数和输出结果的映射关系。
结果映射是MyBatis中用于将数据库查询结果转换为Java对象的一种机制。通过结果映射,开发者可以灵活地处理各种复杂的数据库查询结果。
(如果是maven项目的小伙伴们请移步其他博主的文章,本文只讲解javaweb中的mybatis使用)
注意:创建完整的Mybatis项目需要相应的jar包,可以在本文置顶下载我分享的jar包,也可以使用别人分享的对应版本的jar包
版本如下:
在src也就是根目录下,创建一个log4j.properties文件,该文件是用于记录项目日志的文件
mybatis默认将log4j.properties名字的文件作为日志文件
将以下代码原封不动复制到文件中
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
也是在src下创建SqlMapConfig.xml文件,其内容为数据源、事务管理
将以下代码复制到SqlMapConfig.xml中
其中的四个property分别代表,数据库驱动、数据库地址、数据库用户名、数据库密码
在数据地址的value值中3306后面代表的是数据库名字,不用精确到表名,只需要填写数据库名即可,webdemo是我的数据库名字,你们需要修改成你们的数据库名字
用户名和密码也是同理
可以在src下直接创建也可以创建一个包再创建
创建一个类,这个类是用来接收数据库中的数据的,所以要接收数据的数据表名字是什么,最好类名就是什么,当然也可以不一致
那我这个举例,就创建一个最简单的一个类就好了
但是也要有一个地方要注意,创建成员变量时要注意和数据库的各个数据要对上,数量和名称都要一样
也是在src下直接创建User.xml
这个映射文件名最好也和类名相同
所以我创建了一个User.xml
这段代码也是不用改直接copy
创建之后,我们要将User.xml添加在SqlMapConfig.xml之中,因为mybatis框架需要加载映射文件
注意这个resource的属性值为你xml文件的项目中的路径
最后,再在User.xml文件中配置这么一段sql语句:
必须将它放置在User.xml文件中的
5.创建测试类
public class Mytest {
SqlSessionFactory ssf = null;
@Before
public void creatFactory(){
InputStream input = null;
try {
input = Resources.getResourceAsStream("SqlMapConfig.xml");
} catch (IOException e) {
e.printStackTrace();
}
ssf = new SqlSessionFactoryBuilder().build(input);
}
/** 通过id查找*/
@Test
public void testFindUserById(){
SqlSession session =ssf.openSession();
//System.out.println(session);
User user = session.selectOne("test.findUserById", 4);
System.out.println(user);
System.out.println("用户名字:"+user.getName()+",用户密码:"+user.getPassword());
session.close();
}
}
第一个方法:
creatFactory,
用于创建SqlSessionFactory
对象。SqlSessionFactory
是MyBatis的核心类,用于创建和管理数据库会话(即与数据库的交互)。
creatFactory
方法通常在配置文件中调用,用于初始化SqlSessionFactory
。配置文件通常包含MyBatis的配置信息,如数据库连接信息、映射文件路径等。通过调用creatFactory
方法,可以创建一个SqlSessionFactory
实例,该实例可以用于创建数据库会话,并执行SQL语句与数据库进行交互。
第二个方法:
使用SqlSession执行查询
通过id找到用户数据
到这一步你已经完成了创建一个完整的Mybatis了,真是可喜可贺啊,赶快去试试吧
好了,以上就是《通俗易懂讲解javaweb之mybatis》的全部内容了,如果有疑问可以评论区讨论或者私信留言,看到了都会回复的,如果这篇文章有帮助到你的话,麻烦点赞收藏加关注转发哦,你的支持就是我更新的最大动力,下篇文章见,886~