SpringBoot项目配置mybatis

方式一(mybatis-config.xml+mapper.xml+application.yaml+mapperDao接口):

导入依赖

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
<scope>runtime</scope>
</dependency>

在resources目录下创建mybatis-config.xml

<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
        <!--dao包全名-->
        <package name="com.example.demo.dao"/>
    </typeAliases>
    <mappers>
        <!--Mapper.xml文件相对路径-->
        <mapper resource="mapper/UserMapper.xml"/>
    </mappers>
</configuration>

在.yaml中写入:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/javatest?userSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT
    username: root
    password: root1234
mybatis:
  config-location: classpath:mybatis-config.xml

创建表字段对应的实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {

    private String username;
    private String password;

}

创建UserDao接口

@Repository
@Mapper
public interface UserDao {

    List<User> selectAll();

}

在resources目录下创建mapper.UserMapper.xml

<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.dao.UserDao">
    <select id="selectAll" resultType="com.example.demo.domain.User">
        select * from myuser
    </select>
</mapper>

自动注入即可使用

@Autowired
private UserDao userDao;

方式二(mapper.xml+application.yaml+mapperDao接口):

导入依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
<scope>runtime</scope>
</dependency>

创建表字段对应的实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {

    private String username;
    private String password;

}

创建UserDao接口

@Repository
@Mapper
public interface UserDao {

    List<User> selectAll();

}

在resources目录下创建mapper.UserMapper.xml

<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.dao.UserDao">
    <select id="selectAll" resultType="com.example.demo.domain.User">
        select * from myuser
    </select>
</mapper>

在.yaml中写入:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/javatest?userSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT
    username: root
    password: root1234
mybatis:
  mapper-locations: classpath*:mapper/*.xml
  type-aliases-package: com.example.demo.dao

自动注入即可使用

@Autowired
private UserDao userDao;

方式三(application.yaml+mapperDao接口):

导入依赖

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
<scope>runtime</scope>
</dependency>

在.yaml中写入:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/javatest?userSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT
    username: root
    password: root1234

创建表字段对应的实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {

    private String username;
    private String password;

}

创建UserDao接口

@Repository
@Mapper
public interface UserDao {
	
	@Select("select * from myuser")
    List<User> selectAll();

}

自动注入即可使用

@Autowired
private UserDao userDao;

@MapperScan

每个dao层文件的@Mapper注解可以省略,即在入口函数所在类上加@MapperScan(" dao包全路径 ")

@SpringBootApplication
@MapperScan("com.example.demo.dao")
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}
posted @   叕叕666  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示