目录
1.工程创建前期准备
1.更改idea的工作空间
2.删除没有用的文件
3.配置pom.xml文件
版本一定要选择稳定版的,避免后期出现问题
java版本根据jdk版本更改
为了避免打包问题或者无效发行版本问题等或者其他问题,提前设置好编码字符集、jdk统一版本
在file-setting中搜索File Encoding并按图进行设置
统一jdk版本
2. Mybatis-plus等的配置
1.配置pom.xml文件
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--lombok用来简化实体类 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
2.配置application.properties文件
注意规则:mysql版本为8.0以上的需要更改name和url
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/shequbianmin?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456
3.创建mapper文件和与数据库表同名的.java文件
变量都要与数据库中的属性名和类型相同。
@Data
@TableName("user")
public class User { //变量都要与数据库中的属性名和类型相同。
private Long id;
private String uname;
private int shenfenzheng;
private String name;
private int quanxian;
private String imag;
private String health;
private String miaoshu;
}
4.继承BaseMapper
mybatis-plus封装了许多方法,一般无需编写xml文件,直接调用BaseMapper中的方法即可
5. mapperscan扫描
3.测试
@Autowired //重要的注释
private UserMapper userMapper;
@Test
public void testSelectList() {
System.out.println(("----- selectAll method test ------"));
//UserMapper 中的 selectList() 方法的参数为 MP 内置的条件封装器 Wrapper
//所以不填写就是无任何条件 BaseMapper方法中已经封装了mybatis-plus准备好的方法,无需在xml中编写
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
}
运行测试方法
测试成功
4.可能遇到的问题
编译出错
打包出错
打包出错与编译出错是一样的,要检查创建的.java文件是否与数据库表名称一致,属性和类型也要与.java中的变量保持一致。
还有一种错误很难受(这是一个很常见的问题,一般都是数据库相关的问题导致的)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userMapper' defined in file [C:\Users\dell\IdeaProjects\bianminfuwu\target\classes\com\lh\bianminfuwu\mapper\UserMapper.class]: Invocation of init method failed;
这个问题本人花费了很长时间解决,把标题一:工程创建的前期准备都做的话报错就没了,设置字符集、统一jdk、数据库配置。一定要根据自己的数据库版本编写application.properties文件不然会一直报其他错误。
一定要注意mysql的版本,查看自己的mysql版本,尽量在依赖中设置与自己相近的版本
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
我的数据库版本是
报错原因是因为系统自动默认数据库版本在8.X,而mysql5.X和8.X在使用中配置项是不一样的,因为版本不匹配导致问题出现。
解决方法:
修改pom.xml中mysql依赖,加上版本号
因为aliyun镜像映射中没有5.7.27版本的mysql,所以我导入了5.X的相近版本,最好在5.1.27以上。但是如果你的版本是5.X就一定不要设为8.X
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
运行后问题解决。
如果没有解决就看3.创建mapper文件和与数据库表同名的.java文件
按照步骤操作