结构
依赖:
<dependencies>
<!-- mysql依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
<!-- mybatis依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
</dependencies>
mybatis-config.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/test?characterEncoding=utf-8&useSSL=true" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<!--userMapper.xml装载进来 -->
<mapper class="mybatis.mapper.UserMapper" />
</mappers>
</configuration>
实体类 Person
public class Person {
private Integer id;
private String name;
constructor/get/set/toString
}
Mapper
@Mapper
public interface UserMapper {
@Insert("insert into mybatis (name) values (#{name})")
@Options(useGeneratedKeys=true,keyProperty="id")
int insertPerson(Person person);
@Select("select * from mybatis where id = #{id}")
Person selectPerson(int id);
}
测试
public class MyBatisTest {
private static SqlSessionFactory getSessionFactory() {
SqlSessionFactory sessionFactory = null;
String resource = "mybatis-config.xml";
try {
sessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader(
resource));
} catch (IOException e) {
e.printStackTrace();
}
return sessionFactory;
}
public static void main(String[] args) {
SqlSession sqlSession = getSessionFactory().openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
Person person = new Person("xxx");
int result = userMapper.insertPerson(person);
System.out.println(result);
System.out.println(person);
sqlSession.commit();
sqlSession.close();
// Person p = userMapper.selectPerson(1);
// System.out.println(p);
}
}