MyBatis实现增删改查

接上一次的实验,因为要用到上一次包中的User.java

建包


MyBatisUtils.java是一个封装的类,为了以后方便使用

package com.sxau.rjxy.MyBatis_test2;

import java.io.InputStream;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.sxau.rjxy.MyBatis_test.Test;
public class MyBatisUtils {
	public static SqlSessionFactory getFactory(){
		String resource = "conf.xml"; 
		//加载mybatis的配置文件(它也加载关联的映射文件)
		InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
		//构建sqlSession的工厂
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
		return factory;
	}
}

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.sxau.rjxy.MyBatis_test2.userMapper1"><!-- 包名.xml文件名 -->
	<select id="getUser" parameterType ="int" 
		resultType="com.sxau.rjxy.MyBatis_test.User"><!-- 包名.java名 -->
		select * from users where id =#{id}
	</select>
	<insert id="insertUser" parameterType="com.sxau.rjxy.MyBatis_test.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.sxau.rjxy.MyBatis_test.User">
		update users set name=#{name},age=#{age} where id=#{id}
	</update>
	<select id="selectAllUser" resultType="com.sxau.rjxy.MyBatis_test.User">
		select * from users
	</select>
	
</mapper>

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>
	<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/mybaits" /><!-- 数据库名可更改 -->
				<property name="username" value="root" />
				<property name="password" value="123456" /><!-- 密码可更改 -->
			</dataSource>
		</environment>

	</environments>
	<mappers>
		<mapper resource="com/sxau/rjxy/MyBatis_test/userMapper.xml"  /><!-- 这个是右键userMapper.xml选择 copy qualified Name复制,并删除com之前的东西-->
                <mapper resource="com/sxau/rjxy/MyBatis_test2/userMapper1.xml"  />

	</mappers>
</configuration>

Test1测试

package com.sxau.rjxy.MyBatis_test2;

import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.Test;

import com.sxau.rjxy.MyBatis_test.User;
public class Test1 {
	@Test
	public void testAdd(){
		SqlSessionFactory factory = MyBatisUtils.getFactory();
		SqlSession session = factory.openSession(true);
		
		String statement = "com.sxau.rjxy.MyBatis_test2.userMapper1.insertUser";
		int insert = session.insert(statement,new User(-2,"kk",23));
		System.out.println(insert);
	}
	@Test
	public void testUpdate(){
		SqlSessionFactory factory = MyBatisUtils.getFactory();
		SqlSession session = factory.openSession(true);
		
		String statement = "com.sxau.rjxy.MyBatis_test2.userMapper1.updateUser";
		int update = session.update(statement,new User(4,"kk4444",25));
		System.out.println(update);
	}
	@Test
	public void testDelete(){
		SqlSessionFactory factory = MyBatisUtils.getFactory();
		SqlSession session = factory.openSession(true);
		
		String statement = "com.sxau.rjxy.MyBatis_test2.userMapper1.deleteUser";
		int delete = session.delete(statement,1);
		System.out.println(delete);
	}
	@Test
	public void testGetUser(){
		SqlSessionFactory factory = MyBatisUtils.getFactory();
		SqlSession session = factory.openSession(true);
		
		String statement = "com.sxau.rjxy.MyBatis_test2.userMapper1.getUser";
		User user = session.selectOne(statement,1);
		session.close();
		System.out.println(user);
	}
	@Test
	public void testGetAll(){
		SqlSessionFactory factory = MyBatisUtils.getFactory();
		SqlSession session = factory.openSession(true);
		
		String statement = "com.sxau.rjxy.MyBatis_test2.userMapper1.selectAllUser";
		List<User>list = session.selectList(statement);
		session.close();
		System.out.println(list);
	}
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值