欢迎投稿

今日深度:

mybatis 的简单使用,mybatis简单使用

mybatis 的简单使用,mybatis简单使用


需要用到的包:(这里只是其中一个版本,其他的百度)

mysql-connector-java-5.1.6-bin

mybatis-3.2.2

先看项目目录:


配置文件mybatisconfig.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>
	<!-- 用XML映射的时候必须配此项!指定mappers里面的返回值对应的实体类 -->
	<!-- <typeAliases> 
        <typeAlias alias="User" type="com.miquan.mybatis.bean.User"/> 
    </typeAliases> -->
    <!-- JDBC配置 -->
	<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/weixinface"/>
				<property name="username" value="root"/>
				<property name="password" value=""/>
			</dataSource>
		</environment>
	</environments>
	<!-- mappers,每个实体类对应着一个xml -->
	<mappers>
		<mapper resource="com/miquan/mybatis/bean/User.xml"/>
	</mappers>
</configuration>

实体类User.java:

package com.miquan.mybatis.bean;

public class User {
	private int id;
	private String userName;
	private String password;
	
	public User(int id, String userName, String password) {
		super();
		this.id = id;
		this.userName = userName;
		this.password = password;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}

User.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">
<!-- namespace对应着接口类 -->
<mapper namespace="com.miquan.mybatis.inter.IUserOperation">
	<!-- <select id="selectById" parameterType="int" resultType="User">
		select * from User where id = #{id}
	</select> -->
</mapper>

IUserOperation.java:

package com.miquan.mybatis.inter;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.miquan.mybatis.bean.User;

public interface IUserOperation {
	@Select("select * from User where id = #{id}")
	public User selectById(int id);
	
	@Select("select * from User where userName = #{userName}")
	public List<User> selectUsers(String userName);
	
	@Insert("insert into User values(null, #{userName}, #{password})")
	public boolean addUser(User user); 
	
	@Delete("delete from User where id = #{id}")
	public boolean delUser(int id);
	
	@Update("update User "
			+ "set userName = #{userName}, "
				+ "password = #{password} "
			+ "where id = #{id}")
	public boolean updateUser(User user);
}


最后进行测试:Test.java:

package com.miquan.mybatis.test;

import java.io.InputStream;
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 com.miquan.mybatis.bean.User;
import com.miquan.mybatis.inter.IUserOperation;

public class Test {
	static SqlSession session;
	
	public static void main(String[] args) {
		try {
			//获取session
			InputStream is = Resources.getResourceAsStream("mybatisconfig.xml");
			SqlSessionFactory sqlSessionFactory = 
					new SqlSessionFactoryBuilder().build(is);
			session = sqlSessionFactory.openSession();
			
			//XML配置对应用法
//			User user = session.selectOne("com.miquan.mybatis.bean.UserDB.selectById", 1);
//			System.out.println(user.toString());
			
			//接口调用法
			//////注意:insert、delete和update方法调用之后必须commit才能真正的改变数据
			IUserOperation userOperation = session.getMapper(IUserOperation.class);
			
			//查
//			User user = userOperation.selectById(1);
//			System.out.println(user.toString());
			
			//查找List
//			List<User> users = userOperation.selectUsers("miquan");
//			System.out.println(users.size());
			
			//增
//			User user = new User();
//			user.setUserName("zhiquan");
//			user.setPassword("999");
//			userOperation.addUser(user);
//			session.commit();
			
			//删
//			userOperation.delUser(7);
//			session.commit();
			
			//改
			User user = new User(8, "qiantu", "shaxppp");
			userOperation.updateUser(user);
			session.commit();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				session.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
        }
	}
}


简单的增删查改可以实现了。


myBatis的优缺点?

  1.优点
  简单:
  易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
  实用:
  提供了数据映射功能,提供了对底层数据访问的封装(例如ado.net),提供了DAO框架,可以使我们更容易的开发和配置我们的DAL层。
  灵活:
  通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。
  功能完整:
  提供了连接管理,缓存支持,线程支持,(分布式)事物管理,通过配置作关系对象映射等数据访问层需要解决的问题。提供了DAO支持,并在DAO框架中封装了ADO.NET,NHibernate和DataMapper。
  增强系统的可维护性:
  通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
  2.缺点
  滞后性:
  还没有明确对.NET2.0的支持。最新版本在2.0下编译可以,但有些单元测试不能通过。
  不成熟,工程实践较少:
  IbatisNet在实际项目中的使用较少。 只是理论上可行.
  半ORM,工具支持较少:
  需要我们自己写sql,并且.NET下还未发现可以自动生成业务层类和配置文件的工具,这点和NHibernate不一样,NHibernate会为我们的数据库直接产生sql,并有一些辅助工具。因此使用Ibatis比NHibernate要多做一些工作。
 

有关spring mvc + mybatis的简单增删改查,急,

取值跟jsp一样吧,显示用request.setAttribute
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2149.html NewsArticle mybatis 的简单使用,mybatis简单使用 需要用到的包:(这里只是其中一个版本,其他的百度) mysql-connector-java-5.1.6-bin mybatis-3.2.2 先看项目目录: 配置文件mybatisconfig.xml: ?xml version=1.0 enc...
评论暂时关闭