一、入门
1.配置
1.导入maven工程
1.导入坐标
mysql链接
mybatis
junit
2.构建子夫级关系
2.步骤
-
配置mybatis的核心配置文件
-
<?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"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource=""/> </mappers> </configuration>
-
-
创建实体类
-
public class User { private int id; private String username; private Date birthday; private String sex; private String address; public User() { } public User(int id, String username, Date birthday, String sex, String address) { this.id = id; this.username = username; this.birthday = birthday; this.sex = sex; this.address = address; } public int getId() { return id; } public void setId(int 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 getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", birthday=" + birthday + ", sex='" + sex + '\'' + ", address='" + address + '\'' + '}'; } }
-
-
创建mapper接口
-
创建mapper代理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="cn.chen.mybatis.mapper.UserMapper"> <!--语句--> </mapper>
-
-
mapper代理要求
-
namespace空间要与mapper接口相对路径一致
-
接口中的返回值与xml文件中的resultType一致
-
接口中的方法名与xml文件中的id一致
-
接口中的参数与xml文件中的parameterType一致
-
-
创建utils的工具类
-
//mybatis代理类 public class MyBatisUtils { //创建属性SqlSessionFactory(不用静态修饰,则static代码块中无法作用到) private static SqlSessionFactory sqlSessionFactory; //使用静态代码块加载SqlSessionFactory static { //加载核心配置文件 String resources="mybatis-config.xml"; try { InputStream is = Resources.getResourceAsStream(resources); sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); } catch (IOException e) { e.printStackTrace(); } } //创建获取SqlSession方法 public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(); } }
-
-
可能会遇到的问题
-
配置文件没有注册
-
忘记改核心配置文件中的mapper映射
-
-
绑定接口错误
-
namespace与接口相对路径不正确
-
-
方法名不对
-
接口方法名和配置文件中id不同
-
-
返回类型不对
-
接口返回值类型和配置文件中resultType不同
-
-
Maven到处资源问题
-
在pom文件中build resource
-
-