搭建环境->导入mybatis->编写代码->测试
搭建数据库
新建项目
一、新建一个普通的maven项目
,注意setting-》build,execution,deployment-》build tools-》maven的Maven home directory和User settings file
二、删除src目录
三、导入maven依赖
<!--导入依赖-->
<!--mysql驱动-->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<!--mybaits驱动-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<!-- junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
四、创建一个子模块
(子模块不需要再导入依赖包)
- 编写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核心配置文件-->
<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/zhuce_program?useSSL=true&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
</configuration>
- 编写mybatis工具类
//sqlSessionFatory -> sqlSesson
public class MybatisUtils{
private static SqlSessionFactory sqlSessionFactory = null;
static {
try {
//获取sqlSessionFatory对象
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
//获取sqlsession实例,和preparestatement类似,一个代理
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
-
编写代码
实体类
public class Manager {
private int mg_id;
private String mg_name;
private String mg_pwd;
private int mg_time;
public Manager(int mg_id, String mg_name, String mg_pwd, int mg_time, int mg_role_id) {
this.mg_id = mg_id;
this.mg_name = mg_name;
this.mg_pwd = mg_pwd;
this.mg_time = mg_time;
this.mg_role_id = mg_role_id;
}
private int mg_role_id;
public int getMg_id() {
return mg_id;
}
public String getMg_pwd() {
return mg_pwd;
}
public int getMg_time() {
return mg_time;
}
public int getMg_role_id() {
return mg_role_id;
}
public String getMg_name() {
return mg_name;
}
public void setMg_id(int mg_id) {
this.mg_id = mg_id;
}
public void setMg_name(String mg_name) {
this.mg_name = mg_name;
}
public void setMg_pwd(String mg_pwd) {
this.mg_pwd = mg_pwd;
}
public void setMg_time(int mg_time) {
this.mg_time = mg_time;
}
public void setMg_role_id(int mg_role_id) {
this.mg_role_id = mg_role_id;
}
@Override
public String toString() {
return "Manager{" +
"mg_id=" + mg_id +
", mg_name='" + mg_name + '\'' +
", mg_pwd='" + mg_pwd + '\'' +
", mg_time=" + mg_time +
", mg_role_id=" + mg_role_id +
'}';
}
}
**Dao接口**
```php
public interface ManagerDao {
List<Manager> getManagerList();
}
接口实现类
由原来的UserDaoImpl转变为Mapper配置文件
<?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">
<!--绑定一个对应的dao/mapper接口-->
<mapper namespace="com.test.dao.ManagerDao">
<!-- id对应原来的方法名字-->
<select id="getManagerList" resultType="com.test.pojo.Manager">
select * from zhuce_program.be_manager
</select>
</mapper>
-
测试
注意点:
增删改需要提交事务!
可能遇到的问题
- 配置文件没有注册
- 帮i的那个接口错误
- 方法名不对
- 返回类型不对
- Maven导出资源问题
-
1 字节的 UTF-8 序列的字节 1 无效。将xml的UTF-8设置为UTF8
万能map
假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应当考虑使用map
Map传递参数,直接在sql中取出key即可。
对象传递参数,直接在sql中去对象的属性即可
只有一个基本类型参数的情况下,可以直接在sql中取到,多个参数用Map,或者
注解
模糊查询怎么写
-
使用通配符

-
在sql拼接中使用通配符
版权声明:本文为qq_42890745原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。