赞
踩
目录
1、添加 MyBatis 和 MyBatis-Spring 的依赖
1、添加 MyBatis 和 MyBatis-Spring-Boot-Starter 依赖
- <dependencies>
- <!-- MyBatis -->
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis</artifactId>
- <version>${mybatis.version}</version>
- </dependency>
- <!-- MyBatis-Spring -->
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis-spring</artifactId>
- <version>${mybatis-spring.version}</version>
- </dependency>
- </dependencies>
在 application.properties
或 application.yml
中添加数据源的配置。例如,使用 MySQL 数据库的配置示例如下:
- spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- spring.datasource.url=jdbc:mysql://localhost:3306/my_database
- spring.datasource.username=your_username
- spring.datasource.password=your_password
在 application-context.xml
中添加 MyBatis 的配置信息,示例如下:
- <!-- MyBatis 配置 -->
- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
- <property name="dataSource" ref="dataSource"/>
- <property name="typeAliasesPackage" value="com.example.entity"/>
- <property name="mapperLocations" value="classpath:mapper/**/*.xml"/>
- </bean>
- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
- <property name="basePackage" value="com.example.mapper"/>
- </bean>
这里的 typeAliasesPackage
指定实体类所在的包名, mapperLocations
指定 Mapper 文件的位置。 MapperScannerConfigurer
用于指定 Mapper 接口所在的包名,这里的 com.example.mapper
是示例的包名,你需要替换为实际使用的包名。
定义 Mapper 接口
- // 定义 Mapper 接口
- public interface UserMapper {
- @Select("SELECT * FROM user WHERE id = #{id}")
- public User getUserById(int id);
- }
对应的 XML 文件 userMapper.xml
- // 对应的 XML 文件 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.example.mapper.UserMapper">
- <select id="getUserById" resultType="com.example.entity.User">
- SELECT * FROM user WHERE id = #{id}
- </select>
- </mapper>
- <dependencies>
- <!-- MyBatis -->
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis</artifactId>
- <version>${mybatis.version}</version>
- </dependency>
- <!-- MyBatis-Spring-Boot-Starter -->
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>${mybatis.spring.boot.starter.version}</version>
- </dependency>
- </dependencies>
- spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- spring.datasource.url=jdbc:mysql://localhost:3306/my_database
- spring.datasource.username=your_username
- spring.datasource.password=your_password
- // 定义 Mapper 接口
- @Mapper
- public interface UserMapper {
- @Select("SELECT * FROM user WHERE id = #{id}")
- User getUserById(int id);
- }
- // 对应的 XML 文件 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.example.mapper.UserMapper">
- <select id="getUserById" resultType="com.example.entity.User">
- SELECT * FROM user WHERE id = #{id}
- </select>
- </mapper>
- <dependencies>
- <!-- MyBatis-Plus -->
- <dependency>
- <groupId>com.baomidou</groupId>
- <artifactId>mybatis-plus-boot-starter</artifactId>
- <version>${mybatis.plus.version}</version>
- </dependency>
- </dependencies>
- spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- spring.datasource.url=jdbc:mysql://localhost:3306/my_database
- spring.datasource.username=your_username
- spring.datasource.password=your_password
-
- # 配置MyBatis-Plus属性
- mybatis-plus.mapper-locations=classpath*:/mapper/**/*Mapper.xml
- mybatis-plus.type-enums-package=com.example.enums
- // 定义实体类
- @Data
- @TableName("user")
- public class User {
- @TableId(type = IdType.AUTO)
- private Long id;
- private String username;
- private String password;
- private Integer age;
- }
- // 定义 Mapper 接口
- @Mapper
- public interface UserMapper extends BaseMapper<User> {
- // 可以直接使用继承自 BaseMapper 的方法,不需要编写具体的 SQL 语句
- }
注意:MyBatis-Plus 默认情况下会根据实体类的命名规则映射到数据库中相应的表,如果实体类和表名不一致,可以使用 @TableName
注解进行指定。同时,@TableId
注解指定了主键的生成策略。
- <dependencies>
- <!-- MyBatis-Plus -->
- <dependency>
- <groupId>com.baomidou</groupId>
- <artifactId>mybatis-plus-boot-starter</artifactId>
- <version>${mybatis.plus.version}</version>
- </dependency>
- </dependencies>
- spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
- spring.datasource.url=jdbc:mysql://localhost:3306/my_database?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
- spring.datasource.username=your_username
- spring.datasource.password=your_password
-
- # 配置MyBatis-Plus属性
- mybatis-plus.mapper-locations=classpath*:/mapper/**/*Mapper.xml
- mybatis-plus.type-enums-package=com.example.enums
- // 定义实体类
- @Data
- @TableName("user")
- public class User {
- @TableId(type = IdType.AUTO)
- private Long id;
- private String username;
- private String password;
- private Integer age;
- }
- // 定义 Mapper 接口
- @Mapper
- public interface UserMapper extends BaseMapper<User> {
- // 可以直接使用继承自 BaseMapper 的方法,不需要编写具体的 SQL 语句
- }
注意:MyBatis-Plus 默认情况下会根据实体类的命名规则映射到数据库中相应的表,如果实体类和表名不一致,可以使用 @TableName
注解进行指定。同时,@TableId
注解指定了主键的生成策略。
springboot配置mybatis 控制台显示sql日志,在application.properties
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
springboot配置mybatis-plus 控制台显示sql日志,在application.properties
- logging.level.com.baomidou.mybatisplus=DEBUG
- mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。