我这里用的环境说明:
jdk-10.0.1+apache-tomcat-9.0.1+apache-maven-3.5.2 + Eclipse PHOTON
mysql数据库,数据库testdb中表user包含id和name
用户名和密码都是root
新建maven的quickstart项目,名称abc
依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
实体类
新建包com.test.domain
包中新建类User
package com.test.domain;
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
mapper
创建包com.test.mapper
==========新建userMapper接口
package com.test.mapper;
import com.test.domain.User;
public interface userMapper {
public User fun(int id) throws Exception;
}
==========新建userMapper.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.test.mapper.userMapper">
<select id="fun" parameterType="int"
resultType="com.test.domain.User">
select name from user where id=#{id}
</select>
</mapper>
==========新建cfg.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" />
<property name="url" value="jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<package name="com/test/mapper"/>
</mappers>
</configuration>
调用
package com.test.abc;
import java.io.IOException;
import java.io.Reader;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 com.test.domain.User;
public class App{
public static void main(String[] args) throws IOException {
Reader reader = Resources.getResourceAsReader("com/test/mapper/cfg.xml");
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = sessionFactory.openSession();
String statement = "com.test.mapper.userMapper.fun";
int id = 0;
User user = session.selectOne(statement, id);
System.out.println(user.getName());
}
}
数据库表结构如图
运行结果及目录结构如图