MyBatis简单配置及简单查询
admin
2023-06-07 15:01:34
0次

1.把所需jar(mysql-connector-java-5.1.18-bin.jar和mybatis-3.3.0.jar)拷贝到lib目录下


2.编写与数据库对应的实体类UserInfo


3.创建mybatis-config.xml配置文件:


  
    
      
        
      
      
        
        
        
        
      
    
  


 
    
 


4.创建DBFactory类获取SqlSessionFactory

/**
 * 访问数据库类
 */
public class DBFactory {
	public static SqlSessionFactory sqlSessionFactory = null;
	static {
		try {
			String resource = "com/wc/config/mybatis-config.xml";
			InputStream inputStream = Resources.getResourceAsStream(resource);
			sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream,"mysql");//第二个参数:指定需要连接的数据库配置
			
		} catch (IOException e) {
			
		    e.printStackTrace();
		}
	}
	public static SqlSessionFactory getFactory(){
		return sqlSessionFactory;
	}

或者

/**
 * 访问数据库类
 */
public class DBAccess {

	public SqlSession getSqlSession() throws IOException{
		
		//(1)通过配置文件获取数据库连接相关信息
Reader reader = Resources.getResourceAsReader("com/wc/config/Configuration.xml"); //(2)通过配置信息构建SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader,"mysql"); //(3)通过SqlSessionFactory打开数据库回话 SqlSession sqlSession = sqlSessionFactory.openSession(); return sqlSession; } }


5.创建mybatis的sql映射文件userinfo.xml

  :对应接口,统一命名空间,重要! 

 resultMap: property对应实体类属性,column 对应着数据库字段

 sql语句: 

    id="selectUserByInterface"  唯一标识

     parameterType="java.lang.Integer"  参数的类型  

     resultMap="userResult"  返回类型

    select from user_info order by user_id

    user_id,user_name,user_sex 






  
    
    
    
  
   
   
    select  from user_info
    order by user_id
    
  
   
    select  from user_info where user_id=#{userID}
    

6.通过接口的方式调用XML的查询语句(面向接口式编程)

public interface IUserInfo {
	
	/**
	 * 根据user_id查询单个信息
	 */
	public UserInfo selectOneUserByInterface(int i);
	
	
	/**
	 * 查询全部信息
	 */
	public List selectUserByInterface();
	
}

7.从SqlSessionFactory里面获取SqlSession:DBFactory.getFactory().openSession(); 

 在从SqlSession拿到增删修查一系列方法

/**
 * 使用接口的方式进行全部查询
 */
@Test
public void selectUserByInterface() {
	List  userInfo = new ArrayList();
	// 获取sqlSession
	SqlSession session = null;
	try {
		// 从SqlSessionFactory里获取SqlSession
		session = DBFactory.getFactory().openSession();
		//接口
		IUserInfo iUserInfo = session.getMapper(IUserInfo.class);
		userInfo = iUserInfo.selectUserByInterface();
		if (userInfo != null && userInfo.size() > 0) {
			for (UserInfo user : userInfo) {
				System.out.println(user);
			}
		}
	} catch (Exception e) {

	} finally {
		if (session != null) {
			session.close();
		}	
	}
}

/**
 * 使用接口的方式进行单条查询
 */
@Test
public void selectOneUserByInterface() {
	// 获取sqlSession
	SqlSession session = null;
	try {
		// 从SqlSessionFactory里获取SqlSession
		session = DBFactory.getFactory().openSession();
		//UserInfo userInfo = session.selectOne("userinfo.selectOneUser",3);userinfo是以前的命名空间
		IUserInfo iUserInfo = session.getMapper(IUserInfo.class);
		UserInfo userInfo = iUserInfo.selectOneUserByInterface(3);
		System.out.println(userInfo);

	} catch (Exception e) {

	} finally {
		if (session != null) {
			session.close();
		}
	}
}

  最后关闭SqlSession


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...