MyBatis 快速入门
快速入门需求说明
开发一个MyBatis 项目,通过MyBatis 的方式可以完成对monster 表的crud 操作。
代码实现
1. 创建mybatis 数据库- monster 表。
CREATE DATABASE `mybatis` CREATE TABLE `monster` ( `id` INT NOT NULL AUTO_INCREMENT, `age` INT NOT NULL, `birthday` DATE DEFAULT NULL, `email` VARCHAR(255) NOT NULL , `gender` TINYINT NOT NULL, `name` VARCHAR(255) NOT NULL, `salary` DOUBLE NOT NULL, PRIMARY KEY (`id`) ) CHARSET=utf8
2. 创建maven 项目, 方便项目需要jar 包管理。
把创建好的maven项目的src目录删除,将这个项目作为父目录。创建新的Module作为子项目,子项目可以使用父项目的pom.xml配置。
导入依赖的包–mybatis、mysql、junit,maven会自动更新关联的包。
将NLC_MyBatis\pom.xml 作为父项目pom.xml 引入相关依赖
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- 1. 将mybatis作为父项目管理多个子模块/子项目 2. 父项目的完整的坐标 groupId[组织名]+artifactId[项目名] 3. 后面该父项目会管理多个子模块/子项目 , 将来父项目中的引入的依赖可以直接给子项目用 , 这样开发简单,提高复用性,也便于管理 4. <packaging>pom</packaging> 表示父项目有多个子模块/子项目管理工程 --> <groupId>com.nlc</groupId> <artifactId>mybatis</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <!--加入依赖--> <dependencies> <!--mysql依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.49</version> </dependency> <!--mybatis依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <!--junit依赖--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies> </project>
在NLC_MyBatis项目下创建新的Module作为子项目。子项目的pom.xml会自动生成,说明parent是NLC_MyBatis。
3.创建resources/mybatis-config.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.mysql.jdbc.Driver"/> <!--配置连接mysql-url 解读: 1. jdbc:mysql 协议 2. 127.0.0.1:3306 : 指定连接mysql的ip+port 3. mybatis: 连接的DB 4. useSSL=true 表示使用安全连接 5. & 表示 & 防止解析错误 6. useUnicode=true : 使用unicode 作用是防止编码错误 7. characterEncoding=UTF-8 指定使用utf-8, 防止中文乱码 8. 温馨提示:不要背,直接使用即可 --> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> </configuration>
4. 创建NLC_MyBatis\mybatis_quickstart\src\main\java\com\nlc\entity\Monster.java
//Monster 和 monster表有对应关系 //1. 一个普通的Pojo类 //2. 使用原生态的sql语句查询结果还是要封装成对象 //3. 这里的实体类属性名和表名字段保持一致。 public class Monster { //属性-和表字段有对应关系 private Integer id; private Integer age; private String name; private String email; private Date birthday; private double salary; private Integer gender; public Monster() { } public Monster(Integer id, Integer age, String name, String email, Date birthday, double salary, Integer gender) { this.id = id; this.age = age; this.name = name; this.email = email; this.birthday = birthday; this.salary = salary; this.gender = gender; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } public Integer getGender() { return gender; } public void setGender(Integer gender) { this.gender = gender; } @Override public String toString() { return "Monster{" + "id=" + id + ", age=" + age + ", name='" + name + '\'' + ", email='" + email + '\'' + ", birthday=" + birthday + ", salary=" + salary + ", gender=" + gender + '}'; } }
5.创建NLC_MyBatis\mybatis_quickstart\src\main\java\com\nlc\mapper\MonsterMapper.java
/** * 1. 这是一个接口 * 2. 该接口用于声明操作monster表的方法 * 3. 这些方法可以通过注解或者xml文件来实现 */ public interface MonsterMapper { //添加monster public void addMonster(Monster monster); }
😄总结
本篇快速入门的一些前置准备比较多,也有一些配置的解说和错误分析,核心内容在下一篇,感兴趣的欢迎点击查阅,谢谢😊
文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞