编程接口规范

特点:

1、  Mapper接口方法名和mapper.xml中定义sql的id值相同

2、  Mapper接口方法接收的参数类型和mapper.xml中定义的sql 的parameterType的类型相同

3、  Mapper接口方法的返回值类型和mapper.xml中定义的sql的resultType的类型相同

4、接口里的方法最好不要有修饰符

接口开发特点1:namespace的值=接口全路径

<mapper namespace="cn.tedu.dao.UserMapper">

在mapper中

 <?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">
<!--

接口开发特点1:namespace的值=接口全路径

-->

<mapper namespace="cn.tedu.dao.UserMapper">
    <select id="findAll"
           resultType="User">
       select * from user
    </select>

    <!-- 根据id查询记录

       id:唯一标志

       resultType:将查出来的结果封装给哪个对象

       #{id}:动态获取值,id是属性名

    -->
    <select id="findOne"
           resultType="User">
       select * from user where id=#{id}
    </select>
    <!-- 查询总记录数 -->
    <select id="count"
          resultType="int">
       select count(*) from user
    </select>
    <!-- 新增一条记录
       #{?}来动态获取值,?写实体的属性
    -->
    <insert id="save">

      insert into user values

       (null,#{nameaaa},#{addr},#{age})

    </insert>
    <!-- 修改指定记录

       #{?}来动态获取值,?写实体的属性

    -->

    <update id="gengxin">

       update user set

           name=#{name},
           addr=#{addr},
           age=#{age}
       where id=#{id}
    </update>
    <!-- 根据id删除一条记录 -->
    <delete id="delete">
       delete from user where id=#{id}
    </delete>

</mapper>


在接口类中:

package cn.tedu.dao;

import java.util.List;

import com.tedu.pojo.User;

public interface UserMapper {
	
	 List<User> findAll();
	 User findOne(Integer id);
	 int  count();
	 void save(User user);
	 void gengxin(User user);
	 void shanchu(Integer id);
	  
}

测试接口类

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

import com.tedu.pojo.User;

import cn.tedu.dao.UserMapper;

/**
 * 
 *     这个类用来测试接口的方法
 *
 */


public class InterfaceTest {
	
	SqlSessionFactory ssf;
	@Before
	public void init() {
		
		try {
			InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");
		ssf=new SqlSessionFactoryBuilder().build(in);
		
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
	
	//查询所有数据
	
	public void findAll() {
		
		SqlSession session = ssf.openSession();
		
		//调用接口中的方法,读取接口中的文件
		UserMapper mapper = session.getMapper(UserMapper.class);
		
		List<User> list = mapper.findAll();
		//遍历
		for(User user:list) {
			System.out.println(user);
		}
		
		session.close();
			
	}
	/**
	 
	 User findOne(Integer id);
	 int  count();
	 void save(User user);
	 void gengxin(User user);
	 void shanchu(Integer id);
	 */
	
	@Test
		public void findOne() {
		
		SqlSession session = ssf.openSession();
		
		//调用接口中的方法,读取接口中的文件
		UserMapper mapper = session.getMapper(UserMapper.class);
		
		
		
		 User user=mapper.findOne(2);
		
	
			System.out.println(user);
		
		
		session.close();
	
			
	}
	
		public void count() {
			
			SqlSession session = ssf.openSession();
			
			//调用接口中的方法,读取接口中的文件
			UserMapper mapper = session.getMapper(UserMapper.class);
			
			
			
			int count = mapper.count();
			
		
				System.out.println(count);
			
			
			session.close();
		
			
			
		}
	//	@Test
	public void gengxin() {
				
				SqlSession session = ssf.openSession();
				
				//调用接口中的方法,读取接口中的文件
				UserMapper mapper = session.getMapper(UserMapper.class);
				
				User user = new User();
				user.setName("熊大");
				user.setAddr("American");
				user.setAge(20);
				user.setId(2);
				mapper.gengxin(user);
				
				session.commit();
				session.close();
		
			}
	
		//@Test
		public void save() {
					
					SqlSession session = ssf.openSession();
					
					//调用接口中的方法,读取接口中的文件
					UserMapper mapper = session.getMapper(UserMapper.class);
					
					User user = new User();
					user.setName("rows");
					user.setAddr("American");
					user.setAge(20);
					mapper.save(user);
					
					session.commit();
					session.close();
			
				}
		
		//@Test
		public void shanchu() {
					
					SqlSession session = ssf.openSession();
					//调用接口中的方法,读取接口中的文件
					UserMapper mapper = session.getMapper(UserMapper.class);			
					mapper.shanchu(1);
					session.commit();
					session.close();
			
				}

}


猜你喜欢

转载自blog.csdn.net/zangguanjing/article/details/86498400