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);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix