zoukankan      html  css  js  c++  java
  • 3.注解实现查询

    操作步骤如下:

    1.建一个java项目或者javaWeb动态项目:

    2.导jar包

    3.建库建表

    4.在项目里面建包,创建配置文件

    .

     5.创建mybatis-config.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>
    	<!-- 指定使用哪个environment -->
    	<environments default="development">
    	
    		<environment id="development">
    			<!-- 事务管理器 -->
    			<transactionManager type="JDBC" />
    			
    			<!-- 连接池,POOLED是MyBatis提供的链接池 -->
    			<dataSource type="POOLED">
    				<!-- 链接数据库的参数 -->
    				<property name="driver" value="com.mysql.jdbc.Driver" />
    				<property name="url" value="jdbc:mysql://localhost:3306/1707_hibernate" />
    				<property name="username" value="root" />
    				<property name="password" value="root" />
    			</dataSource>
    		</environment>
    		
    	</environments>
    	
    </configuration>
    

      6.在com.qf.dao包里面创建IUserDao接口

    package com.qf.dao;
    
    import org.apache.ibatis.annotations.Select;
    
    import com.qf.entity.User;
    
    public interface IUserDao {
    
    	@Select(value="select * from t_user where id = #{id}")
    	public User getUserById(Integer id);
    
    }
    

      7.在mybatis-config.xml文件里面读取到IUserDao文件  配置mappers

             在mybatis-config.xml添加以下代码

      

    <!-- Mapper文件 -->
    	<mappers>
    <!-- 	<mapper resource="com/qf/mapper/IUserDao.xml" /> -->
    		<mapper class="com.qf.dao.IUserDao"/>
    	</mappers>
    

      其中   <mapper resource="com/qf/mapper/IUserDao.xml" />   是使用接口映射文件的时候读取所配置,如果是注解方式实现操作数据库数据的花,mapper 标签里面就用class属性。

    8.测试类:

    package com.qf.dao;
    
    import java.io.IOException;
    import java.io.InputStream;
    
    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.Test;
    
    import com.qf.entity.User;
    
    public class UserDaoTest {
    	@Test
    	public void testGetUserById() {	
    		// 1.指定MyBatis配置文件
    		String resource = "mybatis-config.xml";
    		InputStream ips = null;
    		try {
    			// 2.把配置文件转成流
                        //InputStream ips = this.getClass().getClassLoader().getResourceAsStream(resource);
    			ips = Resources.getResourceAsStream(resource);
    			
    			// 3.通过SqlSessionFactoryBuilde构架工厂
    			SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
    			
    			// 4.构建工厂
    			SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(ips);
    			
    			// 5.获取SqlSession
    			SqlSession sqlSession = sqlSessionFactory.openSession();
    			
    			// 6.获取接口
    			IUserDao userDao = sqlSession.getMapper(IUserDao.class);
    			
    			User user = userDao.getUserById(9);
    			
    			System.out.println(user);
    			
    			sqlSession.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}finally{
    			if(ips != null){
    				try {
    					ips.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    			}
    		}
    	}
    	
    }
    

     总结:

           1.注解实现
                1)在方法上面加@Select(value="sql")
                2)在配置文件中修改mapper的属性为calss(接口的全类名)
                3)配置文件比较常用

     

  • 相关阅读:
    帝国CMS自定义页面的添加与目录式链接的处理
    帝国CMS链接域名重写、伪静态处理
    帝国CMS模板中的多条件筛选方法
    js—input框中输入数字,动态生成内容的方法
    在navcat中清空数据后,设置id归零方法
    解决Vscode编辑器不能打开多标签页问题
    Win10系统下插入耳机前面板无声后面板有声的处理
    处理Chrome等浏览器无法上网,但QQ能正常使用问题
    vue+webpack前端开发项目的安装方法
    Ajax请求返回Error:200无数据的解决方法
  • 原文地址:https://www.cnblogs.com/tournesol/p/8094681.html
Copyright © 2011-2022 走看看