第一个Mybatis

环境配置

注意事项:先配置资源过滤,免得@Test下面找不到资源

注意作用域提高之后,不要再新new一个对象,避免覆盖

搭建环境

搭建数据库

新建项目:

1 新建一个普通Maven项目:注意名字,注意Maven是不是自己的还是idea自带的

2 删掉src目录,把他当作一个父工程

3 导入依赖:数据库驱动 mybitis junit

4 创建一个模块new module,一个普通的,nest ,Artifactld按照规范:mybatis-01(这样创建的好处,子项目不需要每次去导包)

编写核心配置文件

1 编写mybatis的核心配置文件Mybatis-config.xml

2 编写工具类MybatisUtils

3 编写实体类,和dao层的接口,接口下面编写Mapper

4 测试里面调用

测试作用(把接口变成一个对象,以便调用方法)

和javaweb是一样的那个是先拿到连接,这个是在工厂里面先拿到SqlSession

1 拿到Session

2 把接口变成一个对象

3 调用

核心配置

就是配置数据库相关的,mappers,用/,放我们配置接口的Mapper.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.microsoft.sqlserver.jdbc.SQLServerDriver"/>
        <property name="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=mybatis;encrypt=true;trustServerCertificate=true"/>
        <property name="username" value="sa"/>
        <property name="password" value="123456"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="com/counter/dao/UserMapper.xml"/>
  </mappers>
</configuration>

utils工具类

复制代码
package com.counter.utils;
​
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
​
import java.io.InputStream;
​
public class MybatisUtils {
    private  static  SqlSessionFactory sqlSessionFactory ;
    static {
        try {
            //使用Mybatis第一步:获取sqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = MybatisUtils.class.getClassLoader().getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            System.out.println("MybitsUtils cg");
            System.out.println(sqlSessionFactory);
​
        }catch (Exception e) {
            System.out.println("NybitsUtils sb");
            e.printStackTrace();
        }
    }
    public static SqlSession getSqlSession() {
        return sqlSessionFactory.openSession();
    }
}
​

UserMapper.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.counter.dao.Userdao">
    <select id="getUsers" resultType="com.counter.pojo.User">
        select * from [user]
    </select>
</mapper>

namepace放接口位置

id里面放方法名,resultType返回类型

先创建一个配置文件

再创建一个工具类

创建实体类

创建接口

创建xml文件调用这个接口

复制代码
<build>
        <resources>
           <resource>
               <directory>src/main/resources</directory>
               <includes>
                   <include>**/*.properties</include>
                   <include>**/*.xml</include>
               </includes>
               <filtering>true</filtering>
           </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

!!!!!重点:提升作用域

如果我在方法前提升了作用域,下面记得就不要new了,不然会覆盖掉!!!!!!!!!!

相关推荐
行者全栈架构师1 小时前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_01 小时前
mac(m5)平台编译openjdk
java
唐青枫1 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马1 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261351 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户3721574261351 天前
Java 打印 Word 文档:从基础打印到高级设置
java
用户3521802454752 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程
东坡白菜2 天前
破局全栈:一个前端开发的Java入门实战记录(1)
java·全栈
唐青枫2 天前
Java Tomcat 实战指南:从 Servlet 容器到 Spring Boot 部署
java
wsaaaqqq2 天前
roudan:自由选择实体、灵活操作数据、快速写入数据库的 Java 框架
java