mybatis入门环境搭建: 第一步:创建工程并导入坐标。 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> <groupId>com.itheima</groupId> <artifactId>day01_eesy_01mybatis</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <dependencies><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies> </project>第二步:创建实体类和dao接口。 User类
package com.itheima.domain; import java.io.Serializable; import java.util.Date; /** * User * * @author td * @version 1.0 * 2020/9/3 12:00 **/ public class User implements Serializable { private Integer id; private String username; private Date birthday; private String sex; private String adress; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAdress() { return adress; } public void setAdress(String adress) { this.adress = adress; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", birthday=" + birthday + ", sex='" + sex + '\'' + ", adress='" + adress + '\'' + '}'; } }注意实体类的变量名要和表中的字段名保持一致。 IUser接口
package com.itheima.dao; import com.itheima.domain.User; import java.util.List; /** * IUserDao * * @author td * @version 1.0 * 2020/9/3 12:52 **/ public interface IUserDao { /** * 查询所有操作 * @return */ List<User> findAll(); }第三步:创建mybatis主配置文件。 主配置文件SqlMapConfig.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="mysql"> <!--配置mysql的环境--> <environment id="mysql"> <!--配置事务的类型--> <transactionManager type="JDBC"></transactionManager> <!--配置数据源连接池--> <dataSource type="POOLED"> <!--配置连接数据库的基本信息--> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/> <property name="username" value="root"/> <property name="password" value="chenhao0103"/> </dataSource> </environment> </environments> <!--指定映射配置文件的位置,映射配置文件是每个dao独立的配置文件--> <mappers> <mapper resource="com/itheima/dao/IUserDao.xml"></mapper> </mappers> </configuration>第四步:创建映射配置文件。 映射配置文件IUserDao.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.itheima.dao.IUserDao"> <!--配置查询所有--> <select id="findAll"> select * from user </select> </mapper>注意事项: 第一个:创建IUserDao.xml和IUserDao.java的时候,名称是为了和我们之前的知识保持一致。在Mybatis中他把持久层的操作接口名称和映射文件也叫作Mapper所以:IUserDao和IUerMapper是一样的。 第二个:在idea中创建目录时,他和包是不一样的包在创建的时候com.itheima.dao他是三级结构。目录在创建时:com.itheima.dao他是一级目录。 第三个:mybatis的映射配置文件位置必须和dao接口的包结构相同 第四个:配置映射文件的mapper标签namespace属性的取值必须是dao接口的全限定类名 第五个:映射配置文件的操作配置select,id属性的取值必须是dao接口的方法名 遵守三到五条的可以不写dao接口的实现类。