IDEA——手把手教你mybatis的使用(新手教程)
Posted bambooDragon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA——手把手教你mybatis的使用(新手教程)相关的知识,希望对你有一定的参考价值。
说到Mybatis,很多人不知道这是用来干什么的,简单来说就是用来优化JDBC的使用,我们可以理解为一个这样的流程:
数据库->JDBC->MyBatis->Java
今天来教一下简单的mybatis使用方法,对于初学者很友好。
目录
一、mysql准备
首先呢我们需要准备一个数据库的表数据,来进行随后使用mybatis进行的查询操作。
这里用到的是MySQL数据库,我们首先通过cmd命令窗口进行数据库连接
mysql -u root -p
进入数据库后我们创建一个属于自己的数据库,建议检查exists以防报错
create database if not exists csdnsql;
通过use csdnsql;进入数据库进行操作
接下来创建一个存储数据的表单,我在这里创建一个Student简易学生表
create table student(
id varchar(10) primary key,
name varchar(10) not null,
sex char(1) not null,
birthday date default '2000-01-01',
address varchar(30)
);
接下来通过insert方法录入几个数据以供后面使用
insert into student values
('10101','张三','男','2002-08-12','北京市朝阳区'),
('10103','李四','男','2001-9-22','北京市东城区'),
('10105','小霞','女','2003-02-15','北京市大兴区');
接下来我们来查看一下自己录入的数据是否已经存在于数据库中了
可以看到我们的数据已经成功进入了数据库中,数据库的准备就这样结束了,马上进入IDEA进行我们的mybatis学习。
二、IDEA配置 mybatis环境
创建一个maven项目
创建完成后打开项目下的pom.xml进行一些依赖的配置,你问我依赖是什么?依赖就是导jar包,连网自动导入不用百度的那种。
添加如下内容导入mybatis和jdbc的jar包
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.10</version>
</dependency>
</dependencies>
上官网!哈哈,肯定是mybatis的官网,我们去把它的核心配置文件copy下来,不过首先我们要在这个目录下创建一个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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///csdnsql?useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
上面这些其实都还没有创建结束,但我们需要先进行pojo的创建和mapper映射的创建,才能继续修改mybatis核心配置文件xml
创建pojo
这其实就是你的JavaBean,类名就是查询的表名咯
创建一个com.bamboo.pojo的package包
在其中创建一个名为Student的类
package com.bamboo.pojo;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Student
private String id;
private String primary;
private String name;
private Character sex;
private Date birthday;
private String address;
public String getId()
return id;
public void setId(String id)
this.id = id;
public String getPrimary()
return primary;
public void setPrimary(String primary)
this.primary = primary;
public String getName()
return name;
public void setName(String name)
this.name = name;
public Character getSex()
return sex;
public void setSex(Character sex)
this.sex = sex;
public Date getBirthday()
return birthday;
public void setBirthday(Date birthday)
this.birthday = birthday;
public String getAddress()
return address;
public void setAddress(String address)
this.address = address;
@Override
public String toString()
return "Student" +
"id='" + id + '\\'' +
", primary='" + primary + '\\'' +
", name='" + name + '\\'' +
", sex=" + sex +
", birthday=" + new SimpleDateFormat("yyyy-MM-dd").format(birthday).toString() +
", address='" + address + '\\'' +
'';
创建mapper.xml
接下来创建映射文件咯~~
问我干嘛的?用来保存SQL语句的东西
在resources下创建一个com/bamboo/mapper/StudentMapper.xml的文件,一定要用/分隔,不然会形成你不想看到的结果,创建完成后先不用管。
很好!接下来我们回到mybatis核心配置文件
1.修改其中的<mappers>标签为以下内容
是不是想问这个是用来干嘛的,我来告诉你
这个用来定位刚才我们创建的mapper映射文件
<mappers>
<package name="com.bamboo.mapper"/>
</mappers>
2.在<environments>标签上方创建<typeAliases>标签来为我们的pojo起别名,省略需要写全限名的步骤
<typeAliases>
<package name="com.bamboo.pojo"/>
</typeAliases>
创建Mapper代理接口
在java源路径下创建com.bamboo.mapper.StudentMapper的接口
具体如下图,我们在其中添加一个接口, 并且写入一个接口方法。
package com.bamboo.mapper;
import com.bamboo.pojo.Student;
import java.util.List;
public interface StudentMapper
List<Student> selectAll();
回到StudentMapper.xml文件
把下面这串全添加进去,大部分是官网给出的dtd,所以看起来有些复杂
实际上就只是通过mapper映射到了Mapper接口,然后通过下面的id来定位方法,resultType来设置返回的结果类,内容显而易见的是SQL查询语句。
<?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">
<mapper namespace="com.bamboo.mapper.StudentMapper">
<select id="selectAll" resultType="Student">
select * from csdnsql.student;
</select>
</mapper>
至此配置全部结束,我们开始使用这些东西来进行对数据库的查询和使用。
启动Main方法
直接在com.bamboo包下创建一个主线程MybatisDemo类文件来启动我们的mybatis项目
至此项目结构图是这样的,如果哪里不对请稍作修改
一个一个写,写累了呀,我一次性写完带图好叭,哈哈,我可还真的不是一个负责任的博主。
步骤:先创建一个startMybatis()方法来保存所有代码,通过throws Exception抛出异常给main
1.获取SqlSessionFactory
2.通过工厂来获取SqlSession
3.创建Mapper映射
4.创建List集合接收mapper代理执行获取得结果
5.输出结果
6.关闭sqlSession对象
7.使用main来调用,通过try-catch捕获异常避免jvm异常终止程序
!!!!!!上代码!
!!果然还是先上结果再上代码,这样更有信服力
package com.bamboo;
import com.bamboo.mapper.StudentMapper;
import com.bamboo.pojo.Student;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
import java.util.List;
public class MybatisDemo
public static void main(String[] args)
try
startMybatis();
catch (Exception e)
e.printStackTrace();
public static void startMybatis() throws Exception
//1
String resource = "mybatis-config.xml";
InputStream in = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//2
SqlSession sqlSession = sqlSessionFactory.openSession();
//3
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
//4
List<Student> students = studentMapper.selectAll();
//5
for (Student student : students)
System.out.println(student);
//6
sqlSession.close();
至此mybatis初体验就结束啦,亲手试一试,你就不会觉得那么难了。
手把手教你在Linux(Deepin)使用IDEA连接MySQL
JDK可以直接用IDEA安装
IDEA直接在Deepin软件商店安装即可
IDEA官网链接:https://www.jetbrains.com/idea/download/#section=linux
MYSQL安装:https://blog.csdn.net/weixin_46285416/article/details/117925764
- IDEA安装后,第一次打开需要注意的步骤
- 连接MySQL
勾选对话框点击Continue
点击Don’t Send
选择Evaluate for free->Evaluate
点击Continue
点击New Project创建新项目
这里显示没有JDK
我们可以点击download JDK下载
可以选择下载哪个JDK,这里我就下载Oracle的了
自动下载自动配置,不需要手动操作
下载好了,点击下一步Next
继续下一步
选择目录和项目名字
右键src选择New点击Java Class
添加类名
这里先不动了,先去弄Mysql
开头有Mysql安装教程
我这里先简单弄了几个简单的数据
数据库:demo
表:users
点击IDEA右面的Database,点击左面的加号,点击datasource,选择MySQL
这里提示下载,下载即可
安装完成
点击Test Connection会提示报错
这里是需要权限检查
跳过一下权限就可以了
需要修改一下MySQL数据库的远程访问权限(记得进入mysql才能运行)
grant all privileges on *.* to '数据库用户名'@'你主机地址' identified by '你的密码';
这里主机地址如果是本机的话就用localhost,切记单引号别删除了
这里是我的语句
grant all privileges on *.* to 'root'@'localhost' identified by 'root';
一定要刷新权限
刷新权限:FLUSH PRIVILEGES;
查看权限:select user,host from mysql.user;
然后更改root密码
MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE user SET password=PASSWORD('你要设置的密码') WHERE User='root' AND Host = 'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES; 修改完密码必须刷新mysql系统权限相关表
退出,重新登录,看是否修改成功
然后重新打开IDEA,重新连接,输入你的密码
PS:这里我的密码都是root,方便好记,大家一定要改成一个熟悉的密码,忘了很麻烦的
连接完成
然后测试一下
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Demo
public static final String URL = "jdbc:mysql://localhost:3306/demo"; //数据库的名称是demo
public static final String USER = "root"; //用户名
public static final String PASSWORD = "root"; //密码
public static void main(String[] args) throws Exception
//1.加载驱动程序
Class.forName("com.mysql.cj.jdbc.Driver"); //这个驱动程序去DataBase找DataSource and Drivers,然后再Drivers里面找到对应的数据库,填写类名
//2. 获得数据库连接
Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
//3.操作数据库,实现增删改查
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM demo"); //SQL语句
//如果有数据,rs.next()返回true
while(rs.next()) //输出的时候,int类型就getint,string就getstring
System.out.println(rs.getInt("id")+" 年龄:"+rs.getString("name"));
驱动程序那里很容易报错,找不到,这里就做个详细的更改
依次点击
database->加号->Driver and Data Source
点击Drivers,点击User Driver
依次点击
点击Switch
选择不是红色的就可以,然后点击右下角apply
下面划线的选什么,上面类名就要写什么
大概就是这样,不行了,这教学文档太难写了/(ㄒoㄒ)/~~
以上是关于IDEA——手把手教你mybatis的使用(新手教程)的主要内容,如果未能解决你的问题,请参考以下文章
手把手教你在Linux(Deepin)使用IDEA连接MySQL
手把手教你在Linux(Deepin)使用IDEA连接MySQL
手把手教你阅读mybatis核心源码,掌握底层工作原理与设计思想