Mybatis旧

文档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();
	}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值