使用MyBatis连接数据库,并进行查询表中的数据
需要完成的功能:使用MyBatis注解的方式,查询Student表中全部的数据并且打印出来
**
一、数据准备
**
1、 MySQL数据库中,数据表student一个,id(主键)、姓名、年龄
create table student(
id int primary key auto_increment,
name varchar(20),
age int
);
insert into student values
(null,'千',20),
(null,'椿',22),
(null,'湫',18),
(null,'羽',19);
2、 相关jar包和配置文件
junit-4.9.jar
log4j-1.2.17.jar
mybatis-3.5.3.jar
mysql-connector-java-5.1.49.jar
(配置文件是放在src目录下面的)
配置文件(jdbc.properties)
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://192.168.229.1:3306/db5
username=root
password=root
(这里删掉:
第一行:固定格式,调用Driver方法
第二行:连接数据库,jdbc:mysql://IP地址:端口号/数据库名
数据库用户名和密码)
配置文件(log4j.properties)(日志显示配置,不要修改这个文件)
# Global logging configuration
# 这里的DEBUG 代表的是错误级别,总共有五个
# error WARN INFO DUBUG
log4j.rootLogger=DEBUG, stdout
# Console cutput
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t} - %m%n
配置文件(MyBatisConfig.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- ============= 核心配置文件 =============== -->
<!--核心根标签-->
<configuration>
<!--引入数据库连接的配置文件-->
<properties resource="jdbc.properties"/>
<!--配置LOG4J-->
<settings>
<setting name="logImpl" value="log4j"/>
</settings>
<!--起别名-->
<typeAliases>
<package name="com.itheima.bean"/><!--通用的方式,所有的bean类,都会自动起别名,就是类名小写-->
</typeAliases>
<!--配置数据库连接-->
<environments default="mysql"><!--使用数据库环境-->
<environment id="mysql"><!--配置数据库环境-->
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED"><!--数据源,这里代表一个连接池-->
<!--通过配置文件获取数据库配置信息-->
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!--配置映射关系-->
<mappers>
<package name="com.itheima.one_to_one"/><!--指定接口所在的包的路径-->
</mappers>
</configuration>
**
二、编写接口
**
编写接口,StudentMapper(名字可以随便起,但是最好后面带着Mapper)
接口内容:(一些需要的包,在idea中会自动导入)
public interface StudentMapper {
// 查询全部数据// @Select 注解,参数是SQL语句,用于查询数据表中的数据,返回值由方法决定
@Select("select * from student")
public abstract List<Student> selectAll();}
三、编写测试类
public class Test01 {
// 查询全部数据
@Test
public void selectAll() throws IOException {
// 加载核心配置文件
InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml");
// 获取SqlSession工厂对象,参数是一个输入流
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(is);
// 通过工厂对象获取SqlSession对象(参数是布尔类型,为true的时候代表自动提交事务,为false的时候代表事务需要手动提交)
SqlSession sqlSession = build.openSession(true);
// 获取StudentMapper接口的实现类对象,使用的是SqlSession对象中的getMapper()方法
StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);
// 调用接口中的selectAll()方法,返回的是一个Student集合
List<Student> list = mapper.selectAll();
for (Student student : list) {
System.out.println(student);
}
// 释放资源
sqlSession.close();
is.close();
}}
本文详细介绍如何使用MyBatis注解方式查询数据库中的学生信息,包括数据表创建、配置文件设置、接口定义及测试类编写。
482

被折叠的 条评论
为什么被折叠?



