0


IDEA创建Mybatis项目(图文详解)

文章目录

1. 创建maven项目

注意:建立maven项目前,电脑要已经下载好了maven并完成了配置
在这里插入图片描述
在这里插入图片描述
创建好之后是这个样子
在这里插入图片描述
我们可以在里面创建实体类、测试类、接口类所在的包,为了后续的方便可以参考我是如何创建的,创建好之后是这个样子:
在这里插入图片描述

2. 导入Mybatis和MySQL需要的jar包

因为我们创建的是Maven项目,我们只需要在pom文件里面导入相应的依赖,
代码如下

<dependencies><!--mybatis的依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.3.0</version></dependency><!--mysql的依赖--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.29</version></dependency></dependencies>

添加好依赖之后点击刷新,创建好之后是这个样子
在这里插入图片描述

3.创建实体类(这里我们使用学生类Student)

在entity下面创建java类,并命名为Student,代码如下

packagecom.HaiMeng.entity;publicclassStudent{privateint id;privateString name;privateint age;publicintgetId(){return id;}publicvoidsetId(int id){this.id = id;}publicStringgetName(){return name;}publicvoidsetName(String name){this.name = name;}publicintgetAge(){return age;}publicvoidsetAge(int age){this.age = age;}@OverridepublicStringtoString(){return"Student{"+"id="+ id +", name='"+ name +'\''+", age="+ age +'}';}}

在这里插入图片描述

4. 为实体类配置数据库信息(Student类与student表的映射)

我们首先创建mybatis数据库(也可以自己起名字)在该数据库下面创建student表,命令字符创建代码:

SET FOREIGN_KEY_CHECKS=0;--------------------------------Table structure for `student`
------------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `id` int(10) NOT NULL auto_increment,
  `name` varchar(10)NOT NULL,
  `age` int(10)NOT NULL,PRIMARY KEY  (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2DEFAULT CHARSET=gbk;--------------------------------Records of student
------------------------------
INSERT INTO student VALUES ('1','王五','1001');

我们可以在navicat lite进行查看
在这里插入图片描述
到这里我们的Student类和student的表的映射已经创建好了
接着在resources下面创建一个config.properties文件,用来存放我们的数据库的信息:

database.driver=com.mysql.jdbc.Driver
database.url=jdbc:mysql://localhost:3306/mybatis
database.username=root
database.password=123456

在这里插入图片描述

在这里插入图片描述

到这里我们已经配置好数据库了

5. 创建实体类的mapper映射文件(StudentMapper接口以及StudentMapper.xml可以理解为接口的实现)

  1. 在mapper下面创建StudentMapper
  2. 在resources/mapper下面创建StudentMapper.xml(可以理解为StudentMapper的实现)

StudentMapper代码如下

packagecom.HaiMeng.mapper;importcom.HaiMeng.entity.Student;publicinterfaceStudentMapper{//    因为创建的是接口,所以里面是方法//    尽然是方法,那么我们接下来就是要实现它//    怎么实现呢???//    这里是通过一个StudentMapper.xml文件进行实现的publicStudentgetStudent(long id);}

在这里插入图片描述
StudentMapper.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"><mapper namespace="com.HaiMeng.mapper.StudentMapper"><!--getStudent得到实现,增删改查都可以在mapper标签内进行实现,我们这里是查询所以学生--><select id="getStudent" parameterType="long" resultType="com.HaiMeng.entity.Student">
        select id, name, age
        from student
        where id = #{id}</select></mapper>

在这里插入图片描述

有可能会有不知道怎么创建StudentMapper.xml文件(这里简单的介绍一下,因为下面还需要创建mybatis-config.xml文件,知道如何创建的可以跳过这一部分)
首先进入:
File->Setting->File and code templates
在这里插入图片描述
代码模板如下:

<?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.HaiMeng.mapper.StudentMapper"><!--getStudent得到实现,增删改查都可以在mapper标签内进行实现,我们这里是查询所以学生--><select id="getStudent" parameterType="long" resultType="com.HaiMeng.entity.Student">
        select id, name, age
        from student
        where id = #{id}</select></mapper>

这个时候我们再去点击新建,我们就会发现我们有一个这样的模板,再以后需要的时候就可以快速的创建,只需要再mapper标签内对接口里面的方法进行实现就可。

到此StudentMapperStudentMapper.xml文件都创建完了

6. 配置Mybatis文件(文件名字可以命名为:mybatis-config.xml)

resources下面创建mybatis-config.xml文件
mybatis-config.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="config.properties"/><typeAliases><packagename=""/></typeAliases><!--    配置环境--><environments default="mysql"><!--        配置MySQL的环境--><environment id="mysql"><!--            配置事务的类型--><transactionManager type="JDBC"/><dataSource type="POOLED"><!--                配置连接数据库的四个基本信息--><property name="driver" value="${database.driver}"/><property name="url" value="${database.url}"/><property name="username" value="${database.username}"/><property name="password" value="${database.password}"/></dataSource></environment></environments><!--    指定映射文件的位置,映射文件指的是每个DAO独立的配置文件--><mappers><mapper resource="mapper/StudentMapper.xml"/></mappers></configuration>

在这里插入图片描述
到这里,mybatis-config.xml就配置好了

7. 创建SqlSessionFactory工厂类(这是为了读取配置文件,执行sql语句,并且可以减少代码的冗余)

在utils下面创建SqlSessionFactory工厂类,代码如下

packagecom.HaiMeng.utils;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importjava.io.IOException;importjava.io.InputStream;publicclassSqlSessionFactory{privatefinalstaticClass<SqlSessionFactory> lock=SqlSessionFactory.class;privatestaticorg.apache.ibatis.session.SqlSessionFactory sqlSessionFactory=null;privateSqlSessionFactory(){};//会话工厂publicstaticorg.apache.ibatis.session.SqlSessionFactorygetSqlSessionFactory(){//synchronized(lock){if(sqlSessionFactory !=null){return sqlSessionFactory;}//            mybatis配置文件的名字String resource ="mybatis-config.xml";InputStream inputStream;try{//读取配置文件
                inputStream =Resources.getResourceAsStream(resource);//创建SqlSessionFactory工厂
                sqlSessionFactory =newSqlSessionFactoryBuilder().build(inputStream);}catch(IOException e){
                e.printStackTrace();returnnull;}return sqlSessionFactory;}}//使用工厂生产Sqlsession对象publicstaticSqlSessionopenSqlSession(){if(sqlSessionFactory==null){getSqlSessionFactory();}return  sqlSessionFactory.openSession();}}

在这里插入图片描述

8. 运行测试

在test/java下面创建测试类TestMybatis进行测试,代码如下:

importcom.HaiMeng.mapper.StudentMapper;importcom.HaiMeng.utils.SqlSessionFactory;importorg.apache.ibatis.session.SqlSession;publicclassTestMybatis{publicstaticvoidmain(String[] args){SqlSession sqlSession=SqlSessionFactory.openSqlSession();StudentMapper studentMapper=sqlSession.getMapper(StudentMapper.class);System.out.println(studentMapper.getStudent(1).toString());}}

在这里插入图片描述

到这里我们的整个项目已经写完了,我们可以运行TestMybatis看看效果
在这里插入图片描述

可以看到,成功从数据库里面查询到了学生。到此我们整个Mybatis配置完成,并顺利运行。

最后我们来看一下我们项目的整体结构:
在这里插入图片描述

大家有什么问题可以在下面留言,一起进步,共同成长!!!!


本文转载自: https://blog.csdn.net/N16696796429/article/details/129474595
版权归原作者 海梦在飘扬 所有, 如有侵权,请联系我们删除。

“IDEA创建Mybatis项目(图文详解)”的评论:

还没有评论