使用小结:
1、配置数据库连接文件con.
2、配置sql映射文件. 或者使用注解接口文件
3、写pojo 的java文件
4、调用mybatis

001
<? version=\"1.0\" encoding=\"UTF-8\"?>
         </dataSource>
     </environment>
 </environments>
 
 <mappers>
     <!-- 注册userMapper. 文件, 
     userMapper. 位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper. -->
     <mapper resource=\"userMapper. \"/>
     <mapper class=\"UserMapperI\"/>
  </mappers>
``` 002 ``` import java.util.List; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Options; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update;

public interface UserMapperI {

 //使用@Insert注解指明add方法要执行的SQL
 @Insert(\"insert into t_user(name, age) values(#{name}, #{age})\")
 @Options(useGeneratedKeys=true)
 public int add(User user);
 
 //使用@Delete注解指明deleteById方法要执行的SQL
 @Delete(\"delete from users where id=#{id}\")
 public int deleteById(int id);
 
 //使用@Update注解指明update方法要执行的SQL
 @Update(\"update users set name=#{name},age=#{age} where id=#{id}\")
 public int update(User user);
 
 //使用@Select注解指明getById方法要执行的SQL
 @Select(\"select * from users where id=#{id}\")
 public User getById(int id);
 
 //使用@Select注解指明getAll方法要执行的SQL
 @Select(\"select * from users\")
 public List<User> getAll();

}

002-001

<?  version=\"1.0\" encoding=\"UTF-8\" ?>
<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">
 <mapper namespace=\"me.gacl.mapping.userMapper\">
     <select id=\"getUser\"   
         resultType=\"User\">
         select * from t_user where name like #{name}
     </select>
     <insert id=\"addUser\" parameterType=\"User\" keyProperty=\"id\" useGeneratedKeys=\"true\">
      insert into t_user(name,age) values (#{name},#{age})
     </insert>
     
 </mapper>

003

  /**
   * @author gacl
   * users表所对应的实体类
   */
  public class User {
  
      //实体类的属性和表的字段名称一一对应
     private int id;
     private String name;
     private int age;
 
     public int getId() {
         return id;
     }
 
     public void setId(int id) {
         this.id = id;
     }
 
     public String getName() {
         return name;
     }
 
     public void setName(String name) {
         this.name = name;
     }
 
     public int getAge() {
         return age;
     }
 
     public void setAge(int age) {
         this.age = age;
     }
 
     @Override
     public String toString() {
         return \"User [id=\" + id + \", name=\" + name + \", age=\" + age + \"]\";
     }
 }

004

import java.io.InputStream;
import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//System.out.println(\"hello world!MyBatis|!!!!\");
		/*
        //mybatis的配置文件
        //String resource = \"conf. \";
        //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
        //InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
        //构建sqlSession的工厂
        //SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
        //使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
        //Reader reader = Resources.getResourceAsReader(resource); 
        //构建sqlSession的工厂
        //SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
        //创建能执行映射文件中sql的sqlSession
        //SqlSession session = sessionFactory.openSession();
        /**
         * 映射sql的标识字符串,
         * me.gacl.mapping.userMapper是userMapper. 文件中mapper标签的namespace属性的值,
         * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
         */
        //String statement = \"me.gacl.mapping.userMapper.getUser\";//映射sql的标识字符串
        //执行查询返回一个唯一user对象的sql
        //User user = session.selectOne(statement, 12);
        //System.out.println(user);
		
		//Test.addUser();
		//Test.addUserByNote();
		Test.searchUser();
        

	}
	
	public static void searchUser() {
		
		String resource = \"conf. \" ;
		InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
		SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
		SqlSession session = sessionFactory.openSession();
		String statement = \"me.gacl.mapping.userMapper.getUser\";
		User user1 = new User();
		user1.setName(\"abc\");
		user1.setAge(13);
		List<User> u = session.selectList(statement, \"a%\");
		
	    //User user = session.selectOne(statement,user1) ;
	    System.out.println(u);
	}
	
	public static void addUserByNote() {
		
		String resource = \"conf. \" ;
		InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
		SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
		SqlSession session = sessionFactory.openSession();
		UserMapperI m = session.getMapper(UserMapperI.class);
		
		User user = new User();
		user.setName(\"dddd\");
		user.setAge(38);
		int add = m.add(user) ;
		//session.g
	    //session.commit();
		session.close();
		System.out.println(user.getId());
		
		
	}
	public static void addUser() {
		
		//SqlSession sqlSession = MyBatisU
		
		String resource = \"conf. \" ;
		InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
		SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
		SqlSession session = sessionFactory.openSession();
		String statement = \"me.gacl.mapping.userMapper.addUser\";
		User u = new User();
		u.setAge(30);
		u.setName(\"aerly\");
		int r = session.insert(statement,u);
		session.commit();
		session.close();
		System.out.println(u.getId());
		//System.out.println(r);
		
	}

}

1、
2、
3、MyBatis 文档说明

收藏 打印