目录
需求:查询user表中所有的数据
创建user表,添加数据
- create database mybatis;
- use mybatis;
-
- drop table if exists tb_user;
-
- create table tb_user(
- id int primary key auto_increment,
- username varchar(20),
- password varchar(20),
- gender char(1),
- addr varchar(30)
- );
-
- INSERT INTO tb_user VALUES (1, 'zhangsan', '123', '男', '北京');
- INSERT INTO tb_user VALUES (2, '李四', '234', '女', '天津');
- INSERT INTO tb_user VALUES (3, '王五', '11', '男', '西安');
创建模块,导入坐标
在创建好的模块中的 pom.xml 配置文件中添加依赖的坐标
-
-
-
org.mybatis -
mybatis -
3.5.5 -
-
-
-
-
mysql -
mysql-connector-java -
5.1.46 -
-
-
-
-
junit -
junit -
4.13 -
test -
-
-
-
-
org.slf4j -
slf4j-api -
1.7.20 -
-
-
-
ch.qos.logback -
logback-classic -
1.2.3 -
-
-
-
ch.qos.logback -
logback-core -
1.2.3 -
注意:需要在项目的 resources 目录下创建logback的配置文件
编写 MyBatis 核心配置文件 -- > 替换连接信息 解决硬编码问题
在模块下的 resources 目录下创建mybatis的配置文件 mybatis-config.xml
,内容如下:
- "1.0" encoding="UTF-8" ?>
- configuration
- PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-config.dtd">
- <configuration>
-
- <typeAliases>
- <package name="com.itheima.pojo"/>
- typeAliases>
-
-
- <environments default="development">
- <environment id="development">
- <transactionManager type="JDBC"/>
- <dataSource type="POOLED">
-
- <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="1234"/>
- dataSource>
- environment>
-
- <environment id="test">
- <transactionManager type="JDBC"/>
- <dataSource type="POOLED">
-
- <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="1234"/>
- dataSource>
- environment>
- environments>
- <mappers>
-
- <mapper resource="UserMapper.xml"/>
- mappers>
- configuration>
编写 SQL 映射文件 --> 统一管理sql语句,解决硬编码问题
在模块的 resources
目录下创建映射配置文件 UserMapper.xml
,内容如下:
- "1.0" encoding="UTF-8" ?>
- mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="test">
- <select id="selectAll" resultType="com.itheima.pojo.User">
- select * from tb_user;
- select>
- mapper>
编码
在 com.tudou.pojo
包下创建 User类
- public class User {
- private int id;
- private String username;
- private String password;
- private String gender;
- private String addr;
-
- //省略了 setter 和 getter
- }
在 com.tudou
包下编写 MybatisDemo 测试类
- public class MyBatisDemo {
-
- public static void main(String[] args) throws IOException {
- //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
users = sqlSession.selectList("test.selectAll"); //参数是一个字符串,该字符串必须是映射配置文件的namespace.id - System.out.println(users);
- //4. 释放资源
- sqlSession.close();
- }
- }
解决SQL映射文件的警告提示:
在入门案例映射配置文件中存在报红的情况。问题如下:
产生的原因:Idea和数据库没有建立连接,不识别表信息。但是大家一定要记住,它并不影响程序的执行。
解决方式:在Idea中配置MySQL数据库连接。
IDEA中配置MySQL数据库连接
点击IDEA右边框的 Database
,在展开的界面点击 +
选择 Data Source
,再选择 MySQL
在弹出的界面进行基本信息的填写
点击完成后就能看到如下界面
而此界面就和 navicat
工具一样可以进行数据库的操作。也可以编写SQL语句