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


相关内容

热门资讯

当前约有240艘船只等待伊朗批... △霍尔木兹海峡(资料图)据伊朗方面24日消息,目前约有240艘船只正在等待获得伊朗方面许可后进入霍尔...
时隔12年,中国再度举办这一重... ‍‍5月23日,中共中央政治局委员、国务院副总理何立峰在苏州出席亚太经合组织(APEC)贸易部长会议...
美伊协议未官宣共和党先内讧,克... 周六,得克萨斯州共和党参议员泰德·克鲁兹表示,他对美国与伊朗即将达成的协议条款“深感担忧”,随后在社...
非常时刻,任正非突然亮相《新闻... 作者 | 布语发现没有,任正非最近在《新闻联播》中公开亮相了,仅仅10秒的镜头,信号却很不寻常。5月...
投喂狮子时观光车车门突然打开!... 5月21日,北京八达岭野生动物园猛兽区发生观光游览车车门意外开启事件,引发社会高度关注。据新京报报道...
重庆电视机安装费 如果是小米或者是索尼的电视机,在安底座的时候是不会收费的,但是如果是安装架子或者是墙壁的费用是大概会...
空调安装费是多少钱 空调安装费用是由多个因素决定的,包括空调的类型、安装位置、管路长度、安装人员等等。因此,空调安装费用...
通风管道安装费多少钱一平米 通风管道的安装费用会受到多种因素的影响,例如管道的材质、直径、长度、安装位置、安装难度等等。因此,很...
问一问欧普led吸顶灯坏了怎么... 您好,欧普led吸顶灯是知名的品牌,在市场上是非常常见的,而且欧普这个品牌在业界的口碑也是非常的好,...
led吸顶灯关了还微亮怎么解决 LED 吸顶灯关了还微亮可能是由以下原因引起的:1. 电源问题:灯具的电源可能存在漏电或电容放电等问...