欢迎投稿

今日深度:

Mybatis 简单的CRUD 基于XML文件配置,mybatiscrud

Mybatis 简单的CRUD 基于XML文件配置,mybatiscrud


所有的ORM框架学习曲线都是先来一个CRUD爽一爽,下面我们就来CRUD一下,所有的配置都是基于上一篇的配置。废话不多说,直接上代码。

<?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.bird.mybatis.bean.userMapper">
	<!--CRUD  -->
	<insert id="insertUser" parameterType="com.bird.mybatis.bean.Users">
		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.bird.mybatis.bean.Users">
		update users set name = #{name}, age = #{age} where id = #{id};
	</update>
	
	<select id="getUser" parameterType="int" resultType="com.bird.mybatis.bean.Users">
		select * from users where id = #{id};
	</select>
	
	<select id="getAllUser" resultType="com.bird.mybatis.bean.Users">
		select * from users;
	</select>
</mapper>


package com.bird.mybatis.bean;

import java.io.IOException;
import java.io.Reader;
import java.util.List;

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 org.junit.Before;
import org.junit.Test;

public class MyTest {
	
	private SqlSessionFactory factory;
	
	@Before
	public void init() {
		String resource = "conf.xml";
		Reader reader = null;
		try {
			reader = Resources.getResourceAsReader(resource);
		} catch (IOException e) {
			e.printStackTrace();
		}
		factory = new SqlSessionFactoryBuilder().build(reader);
	}
	
	@Test
	public void testAdd() {
		//默认是手动的 
		SqlSession session = factory.openSession();
		String statement = "com.bird.mybatis.bean.userMapper.insertUser";
		int rows = session.insert(statement, new Users(-1, "哈哈", 29));
		//提交
		session.commit();
		System.out.println(rows);
		session.close();
	}
	
	@Test
	public void testUpdate() {
		SqlSession session = factory.openSession();
		String statement = "com.bird.mybatis.bean.userMapper.updateUser";
		session.update(statement, new Users(4, "呵呵", 29));
		session.commit();
		session.close();
	}
	
	@Test
	public void testDelete() {
		SqlSession session = factory.openSession();
		String statement = "com.bird.mybatis.bean.userMapper.deleteUser";
		session.delete(statement, 1);
		session.commit();
		session.close();
	}
	
	@Test
	public void testGetAllUser() {
		SqlSession session = factory.openSession();
		String statement = "com.bird.mybatis.bean.userMapper.getAllUser";
		List<Users> list = session.selectList(statement);
		System.out.println(list.size());
		session.close();
	}
}

Ok,so easy, 哪里不会点哪里


MyBatis配置文件Configurationxml里typeAliases标签有什用 如图 删了程序照样跑

typeAliases标签 是写实体类的别名,写了之后可以在写Sql配置文件例如<select>标签中的属性就可以不用写实体的具体路径直接用别名就可以了,可以简化代码给你看个例子:没有别名这样写<select resultType="com.sjh.entity.VoteUser"> 写了别名就可以这样写<select resultType="VoteUsers"> 直接写别名就可以不用再写实体的路径了,VoteUsers就能在任何地方代替“com.sjh.entity.VoteUser”被使用。如果很多属性涉及到实体类,直接写别名很方便的。你说你删了程序照样跑,写配置的时候你一定是没有应用到别名,都写得实体路径。希望通过我的一番解释你能明白这个标签的用途。
 

mybatis该不该把所有的业务逻辑写到映射xml文件里面去?

我个人的观点
理想的状态是把逻辑都放到 xml 里面,但具体因情况而定。
1.如果是做产品的是时候尽可能放到xml.但逻辑比较复杂,又比较难以做到.
2.如果是做项目,并且要求你开发的速度较快,那就放 dao中了.
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/3743.html NewsArticle Mybatis 简单的CRUD 基于XML文件配置,mybatiscrud 所有的ORM框架学习曲线都是先来一个CRUD爽一爽,下面我们就来CRUD一下,所有的配置都是基于上一篇的配置。废话不多说,直接上代码。 ?x...
评论暂时关闭