使用Mybatis进行CRUD操作(测试类实现)

项目主体结构:
在这里插入图片描述

首先我在mybatis-config.xml中定义了别名,这样就不用每次都写长长的完整路径了。

<!--扫描该包下实体类,我的是Blog-->
	<typeAliases>
		<package name="com.mybatis.pojo" />
	</typeAliases>

我的sql语句是从SQLyog中生成粘贴过来的。
在这里插入图片描述


查询数据(根据ID查询):
BlogMapper.xml

	<select id="selectBlog" resultType="Blog" parameterType="int">
		select * from blog where id = #{id}
	</select>

BlogMapper.java

public interface BlogMapper {
	Blog selectBlog(Integer id); }

BlogMapperTest.java(测试类)

	@Test
	public void testSelectBlog() {

		SqlSession session = MyBatisUtil.getSqlSession();

		BlogMapper blogMapper = session.getMapper(BlogMapper.class);
		Blog blog = blogMapper.selectBlog(2);	
		System.out.println(blog);
		session.close();
	}

添加数据:
BlogMapper.xml

	<!-- useGeneratedKeys="true" keyProperty="id" 获取自增ID -->
	<insert id="insertBlog" parameterType="Blog" useGeneratedKeys="true" keyProperty="id">
		INSERT INTO `blog`(
	             `title`,
	             `authorId`,
	             `state`,
	             `featured`,
	             `style`
	             )
		VALUES (
		        #{title},
		        #{authorId},
		        #{state},
		        #{featured},
		        #{style}
		        );
	</insert>

BlogMapper.java

public interface BlogMapper {
	int insertBlog(Blog blog);
	}

需要在实体类添加一个无参的方法,在里面赋值(Blog.java)

	public Blog() {
		super();
		this.title = "天津";
		this.authorId = 6;
		this.state = "NO ACTIVE";
		this.featured =false;
		this.style = "red";
	}

BlogMapperTest.java(测试类)

	@Test
	public void insertBlog() {

		SqlSession session = MyBatisUtil.getSqlSession();

		BlogMapper blogMapper = session.getMapper(BlogMapper.class);
		
		Blog blog=new Blog();
		
		int inblog = blogMapper.insertBlog(blog);
		
		session.commit();//一定要有
		session.close();
		System.out.println(blog);
		System.out.println("插入"+inblog+"条记录");
	}

修改数据(根据ID修改):
BlogMapper.xml

	<update id="updateBlog" parameterType="Blog">
	UPDATE `blog`
		SET 
		  `title` = #{title},
		  `authorId` =  #{authorId},
		  `state` =  #{state},
		  `featured` = #{featured},
		  `style` = #{style}
		WHERE `id` = #{id}
	</update>

BlogMapper.java

public interface BlogMapper {
	int updateBlog(Blog blog);
	}

BlogMapperTest.java(测试类)

	@Test
	public void updateBlog() {

		SqlSession session = MyBatisUtil.getSqlSession();

		BlogMapper blogMapper = session.getMapper(BlogMapper.class);
		
		//先查询,后在基础上修改
		Blog blog=blogMapper.selectBlog(35);
		
		//Blog blog=new Blog();
		blog.setId(35);
		blog.setTitle("内蒙古");
//		blog.setAuthorId(7);
//		blog.setState("NO ACTIVE");
//		blog.setFeatured(false);
//		blog.setStyle("blue");
		
		int upblog = blogMapper.updateBlog(blog);
		
		session.commit();
		session.close();
		System.out.println(blog);
		System.out.println("修改了"+upblog+"条记录");

	}

删除数据(根据ID删除):
BlogMapper.xml

	<delete id="deleteBlog" parameterType="int">
	DELETE
	FROM `blog`
	WHERE `id` =#{id}
	</delete>

BlogMapper.java

public interface BlogMapper {
	int deleteBlog(Integer id);
	}

BlogMapperTest.java(测试类)

	@Test
	public void deleteBlog() {
		SqlSession session = MyBatisUtil.getSqlSession();

		BlogMapper blogMapper = session.getMapper(BlogMapper.class);
	
		int deblog = blogMapper.deleteBlog(36);
		
		session.commit();
		session.close();

		System.out.println("删除"+deblog+"条记录");
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值