目录
mybatis使用Mapper代理开发会更加的方便,一般推荐这样的方式,形式和mapper常规使用也差不多
其他说明:还有注解的方式可以调用,不过注解的方式只能应用于简单的sql语句,复杂的语句就要用文中的xml调用方式了
使用配置:
以下的安装配置的超链接,如有需要可用去查看

先在maven架构的pom.xml里面添加要使用的mybatis和mysql两个依赖(俗称jar包)
- <dependencies>
-
-
- <dependency>
- <groupId>org.mybatisgroupId>
- <artifactId>mybatisartifactId>
- <version>3.5.11version>
- dependency>
-
-
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- <version>8.0.30version>
- dependency>
-
- dependencies>
如图所示:

(1)在resources下--新建--文件(选择第2个)---mybatis-config.xml
ps:这里面是用来连接数据库的统一配置文件

(2)把这个配置信息添加到这个新建的配置文件里面
- "1.0" encoding="UTF-8" ?>
- configuration
- PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
- "https://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://localhost:3306/javafx"/>
- <property name="username" value="root"/>
- <property name="password" value="123456"/>
- dataSource>
- environment>
- environments>
- <mappers>
-
- <mapper resource="com/project/Mapper/boyMapper.xml"/>
- mappers>
- configuration>
如图所示:

(1)要在java的项目下面建立2个包,一个是接口包Mapper,一个是封装包pojo
com.project:项目名
Mapper:接口包
pojo:实现类包

(2)
在封装包pojo里面建立一个和数据库对应的封装类--Boy。
在接口包Mapper下建立一个接口--boyMapper
ps:数据库图(这个是为了方便对应参考,知道那些类名是怎么来的)

Boy(里面是封装属性。然后快捷键生成的set和get、构造方法、toString)

boyMapper(接口起这个名字是为了和接下来的resources里面的xml映射文件名一样)
ps:并在接口里面定义一个查询全部的集合方法-

(1)在resources下--新建--目录包---com/project/Mapper
格式:
新建一个目录包和接口包一样的名称就好了。建立输入时候注意:小点那个要用/代替才能建立成功
ps:这样做的目的就是为了xml文件和接口包在同一个文件下
如图所示


(2)在resources下新建好的包下建立一个boyMapper.xml文件,并在里面写上对应的映射方法
格式
数据库要操作对应的表名Mapper.xml,以后数据库的操作语句都在这个映射文件里面写就好了
添加进去的映射方法
- "1.0" encoding="UTF-8" ?>
- mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
- <mapper namespace="com.project.Mapper.boyMapper">
- <select id="selectAll" resultType="com.project.pojo.Boy">
- select * from boy;
- select>
- mapper>
如图所示

编写一个测试类,放哪里测试都可以(我在pojo里面建立)
- package com.project.pojo;
-
- import com.project.Mapper.boyMapper;
- 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.IOException;
- import java.io.InputStream;
- import java.util.List;
-
-
- public class BoyTest {
- public static void main(String[] args) throws IOException {
- //1.加载mybatis连接文件(核心配置文件)
- String resource = "mybatis-config.xml";//这是连接数据库的统一配置xml文件
- InputStream inputStream = Resources.getResourceAsStream(resource);//固定写法
- SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//固定写法
-
- //2.获取SqlSessionFactory对象--固定写法
- SqlSession sqlSession = sqlSessionFactory.openSession();
-
- //3.执行sql语句
- //接口 自定义接口名 = sqlSession.getMapper(接口.class);
- boyMapper boyMapper = sqlSession.getMapper(boyMapper.class);
-
- //接口里面的方法
- List
boyAll = boyMapper.selectAll(); -
- //4.打印语句
- System.out.println(boyAll);
-
- //5.释放资源--固定写法
- sqlSession.close();
- }
- }
运行结果:
[boy{id=1, name='小明', age=18}, boy{id=2, name='小美', age=19}]