文档https://mybatis.org/mybatis-3/zh/getting-started.html
1.导包
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
<scope>compile</scope>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.1.1</version>
</dependency>
最新的:
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.11</version>
</dependency>
2.工具类
MybatisUtil
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.Reader;
public class MybatisUtil {
public static SqlSession getSqlSession() throws Exception{
String resource = "conf.xml";
//加载mybatis的配置文件(它也加载关联的映射文件)
Reader reader = Resources.getResourceAsReader(resource);
//构建sqlSession的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
//创建能执行映射文件中sql的sqlSession
SqlSession sqlSession = sessionFactory.openSession();
return sqlSession;
}
}
3.xml文件
conf.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>
<typeAliases>
<typeAlias type="com.rjxy.mybatis.bean.User" alias="User" />
可添加多个
<typeAlias type="com.rjxy.mybatis.bean.User" alias="别名" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="Liu128041384" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/rjxy/mybatis_test/test1/UserMapper.xml" />
可添加多个
<mapper resource="地址" />
</mappers>
</configuration>
Mapper文件
<?xml version="1.0" encoding="UTF-8" ?>
<mapper namespace="com.rjxy.mybatis_test.test1.UserMapper">
当前Mapper路径
<select id="getUser" parameterType="int" resultType="User">
指向实体类,因为给其定义了别名所以简单写了
select * from users where id=#{id}
</select>
</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">
<mapper namespace="com.rjxy.mybatis_test.test2.userMapper">
<insert id="insertUser" parameterType="com.rjxy.mybatis_test.test2.User">
insert into users(name,age) values(#{name},#{age})
</insert>
<delete id="deleteUser" parameterType="int">
delete from users where id=#{id}
</delete>
<update id="updateUser" parameterType="com.rjxy.mybatis_test.test2.User">
update users set name=#{name},age=#{age} where id=#{id}
</update>
<select id="selectUser" parameterType="int" resultType="com.rjxy.mybatis_test.test2.User">
select * from users where id=#{id}
</select>
<select id="selectAllUsers" resultType="com.rjxy.mybatis_test.test2.User">
select * from users
</select>
</mapper>
association标签包含以下属性:
property:对应被配置一对一属性对应实体类中的属性名,必填
javaType:对应被配置一对一属性对应的Java类型
resultMap:可以直接使用现有的resultMap
columnPrefix:查询的列的前缀,配置前缀后,在子标签配置result的column时可以省略前缀
————————————————
原文链接:https://blog.csdn.net/weixin_43169156/article/details/115084562
4.增删改查
@Test
public void test() throws Exception{
SqlSession session=MybatisUtil.getSqlSession();
String sql = "com.rjxy.mybatis_test.test2.userMapper"+".selectUser";
User u=session.selectOne(sql, 2);
System.out.println(u);
session.close();
}
@Test
public void testInsert() throws Exception{
SqlSession session=MybatisUtil.getSqlSession();
String sql = "com.rjxy.mybatis_test.test2.userMapper"+".insertUser";
User u=new User(-1,"uu",60);//-1表示无效
session.insert(sql, u);
session.commit();
System.out.println(u);
session.close();
}
@Test
public void testDelet() throws Exception{
SqlSession session=MybatisUtil.getSqlSession();
String sql = "com.rjxy.mybatis_test.test2.userMapper"+".deleteUser";
session.delete(sql, 4);
session.commit();
session.close();
}
@Test
public void testUpdate() throws Exception{
SqlSession session=MybatisUtil.getSqlSession();
String sql = "com.rjxy.mybatis_test.test2.userMapper"+".updateUser";
User u=new User(4,"xx",6);
session.update(sql, u);
session.commit();
session.close();
}
@Test
public void testSelectAll() throws Exception{
SqlSession session=MybatisUtil.getSqlSession();
String sql = "com.rjxy.mybatis_test.test2.userMapper"+".selectAllUsers";
List<User> list = session.selectList(sql);
System.out.println(list);
session.close();
}