@
mybatis-3.5.4.jar
mysql-connector-java-5.1.49.jar
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/db?useSSL=false&useUnicode=true&characterEncoding=utf8
db.username=root
db.password=123456
<?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>
<!-- 一种写法,以${driver}引用,注意 & 要变成 & 详情请百度 -->
<!--<properties>
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/db?useSSL=false&useUnicode=true&characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</properties>-->
<!-- 引入db.properties文件配置 -->
<properties resource="db.properties"/>
<settings>
<!-- 控制台打印日志,包括查询语句 -->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<!-- 开发环境,可以配置多个,default:指定采用哪个环境 -->
<environments default="development">
<environment id="development">
<!-- 事务管理器,由mybatis进行管理,事务管理类型:JDBC、MANAGED -->
<transactionManager type="JDBC"></transactionManager>
<!-- 数据源,池类型的数据源,类型:POOLED、UNPOOLED、JNDI -->
<dataSource type="POOLED">
<property name="driver" value="${db.driver}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.username}"/>
<property name="password" value="${db.password}"/>
</dataSource>
</environment>
</environments>
<!-- 加载映射文件 mapper -->
<mappers>
<!-- 资源路径下 -->
<mapper resource="mappers/test1.xml"/>
<!-- 该方式是加载指定包下的所有映射文件 -->
<!--<package name="com.mybatis.dao"/>-->
</mappers>
</configuration>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace:命名空间,随便写,一般保证命名空间唯一,用动态代理必需写接口的全限定名 -->
<mapper namespace="test1">
<select id="findAll" resultType="com.mybatis.pojo.Table1">
select * from table1
</select>
</mapper>
mapper写法
<!-- #{}、${}都是占位符,#{}带有‘‘,${}不带‘‘,优先使用#{},因为后者会导致sql注入的问题 -->
<select id="selectone" resultType="com.mybatis.user.testEnpity">
select * from user id=#{id} and title=${title}
</select>
<!-- resultMap 建立 SQL 查询结果字段与实体属性的映射关系信息 -->
<resultMap id="BaseResultMap" type="com.mybatis.student.model.Student">
<id property="id" column="id" />
<result column="NAME" property="name" />
<result column="HOBBY" property="hobby" />
<result column="MAJOR" property="major" />
<result column="BIRTHDAY" property="birthday" />
<result column="AGE" property="age" />
</resultMap>
<!--查询时resultMap引用该resultMap -->
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="Object">
select id,name,hobby,major,birthday,age from student where id=#{id}
</select>
package com.mybatis.pojo;
public class Table1 {
private int id;
private int num;
private int num1;
private String text;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
@Override
public String toString() {
return "Table1{" +
"id=" + id +
", num=" + num +
", num1=" + num1 +
", text=‘" + text + ‘\‘‘ +
‘}‘;
}
}
简单项目目录图
package com.mybatis.dao;
import com.mybatis.pojo.Table1;
import java.util.List;
public interface Table1Dao {
List<Table1> findAll();
}
package com.mybatis.dao.impl;
import com.mybatis.dao.Table1Dao;
import com.mybatis.pojo.Table1;
import org.apache.ibatis.session.SqlSession;
import java.util.List;
public class Table1DaoImpl implements Table1Dao {
public SqlSession sqlSession;
public Table1DaoImpl(SqlSession sqlSession) {
this.sqlSession = sqlSession;
}
public List<Table1> findAll() {
// 操作CRUD,第一个参数:指定statement,规则:命名空间.statementId,后面的参数是sql对应的参数
return sqlSession.selectList("test1.findAll");
}
}
import com.mybatis.dao.Table1Dao;
import com.mybatis.dao.impl.Table1DaoImpl;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class Test {
@org.junit.Test
public void test() throws IOException {
// 读取配置文件
InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
// 构建sqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 获取sqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
// 创建
Table1Dao table1Dao = new Table1DaoImpl(sqlSession);
// 调用
table1Dao.findAll();
sqlSession.close();
}
}
Mybatis详细教程:https://blog.csdn.net/hellozpc/article/details/80878563
原文:https://www.cnblogs.com/wccw/p/12992117.html