文章目录  1.注解方式操作 文件目录 1.快速入门(完整步骤) 1.pom.xml(完整) 2.resources/jdbc.properties外部配置文件(根据实际情况修改参数) 3.在resources/mybatis-config.xml(完整)中配置含有注解的接口 4.映射类Monster.java 5.编写MonsterAnnotation.java接口 6.MyBatisUtils.java 7.测试 2.注意事项和细节 1.复制sql语句 2.使用注解方式也要在配置文件中引入这个类! 3.返回自增值(update和insert适用) 4.配置SQL提示 2.MyBatis配置文件详解 1.外部属性文件设置相关的值 1.resources/jdbc.properties 2.修改mybatis-config.xml引入外部文件 2.settings配置日志 3.typeAliases配置类型别名 4.environments注册XXXMapper.xml或者含有注解的类 5.pom.xml配置在build的时候要扫描的文件   
 
 
< projectxmlns = " http://maven.apache.org/POM/4.0.0" xmlns: xsi= " http://www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation= " http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > < modelVersion> </ modelVersion> < groupId> </ groupId> < artifactId> </ artifactId> < version> </ version> < packaging> </ packaging> < name> </ name> < url> </ url> < modules> < module> </ module> </ modules> < dependencies> < dependency> < groupId> </ groupId> < artifactId> </ artifactId> < version> </ version> </ dependency> < dependency> < groupId> </ groupId> < artifactId> </ artifactId> < version> </ version> </ dependency> < dependency> < groupId> </ groupId> < artifactId> </ artifactId> < version> </ version> < scope> </ scope> </ dependency> </ dependencies> < build> < resources> < resource> < directory> </ directory> < includes> < include> </ include> </ includes> </ resource> < resource> < directory> </ directory> < includes> < include> </ include> < include> </ include> </ includes> </ resource> </ resources> </ build> </ project> jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=root
 
<?xml version="1.0" encoding="UTF-8" ?> 
<! DOCTYPE  configuration PUBLIC  "-//mybatis.org//DTD Config 3.0//EN" "https://mybatis.org/dtd/mybatis-3-config.dtd" > < configuration> < propertiesresource = " jdbc.properties" /> < settings> < settingname = " logImpl" value = " STDOUT_LOGGING" /> </ settings> < environmentsdefault = " development" > < environmentid = " development" > < transactionManagertype = " JDBC" /> < dataSourcetype = " POOLED" > < propertyname = " driver" value = " ${jdbc.driver}" /> < propertyname = " url" value = " ${jdbc.url}" /> < propertyname = " username" value = " ${jdbc.username}" /> < propertyname = " password" value = " ${jdbc.password}" /> </ dataSource> </ environment> </ environments> < mappers> < packagename = " com.sun.mapper" /> </ mappers> </ configuration> package  com. sun. entity ; import  java. util.  Date ; 
public  class  Monster  { private  Integer  id; private  Integer  age; private  Date  birthday; private  String  email; private  Integer  gender; private  String  name; private  Double  salary; public  Monster ( )  { } public  Monster ( Integer  id,  Integer  age,  Date  birthday,  String  email,  Integer  gender,  String  name,  Double  salary)  { this . id =  id; this . age =  age; this . birthday =  birthday; this . email =  email; this . gender =  gender; this . name =  name; this . salary =  salary; } public  Integer  getId ( )  { return  id; } public  void  setId ( Integer  id)  { this . id =  id; } public  Integer  getAge ( )  { return  age; } public  void  setAge ( Integer  age)  { this . age =  age; } public  Date  getBirthday ( )  { return  birthday; } public  void  setBirthday ( Date  birthday)  { this . birthday =  birthday; } public  String  getEmail ( )  { return  email; } public  void  setEmail ( String  email)  { this . email =  email; } public  Integer  getGender ( )  { return  gender; } public  void  setGender ( Integer  gender)  { this . gender =  gender; } public  String  getName ( )  { return  name; } public  void  setName ( String  name)  { this . name =  name; } public  Double  getSalary ( )  { return  salary; } public  void  setSalary ( Double  salary)  { this . salary =  salary; } @Override public  String  toString ( )  { return  "Monster{"  + "id="  +  id + ", age="  +  age + ", birthday="  +  birthday + ", email='"  +  email +  '\''  + ", gender="  +  gender + ", name='"  +  name +  '\''  + ", salary="  +  salary + '}' ; } 
} package  com. sun. mapper ; import  com. sun. entity.  Monster ; 
import  org. apache. ibatis. annotations.  Delete ; 
import  org. apache. ibatis. annotations.  Insert ; 
import  org. apache. ibatis. annotations.  Select ; 
import  org. apache. ibatis. annotations.  Update ; import  java. util.  List ; 
public  interface  MonsterAnnotation  { @Insert ( "INSERT INTO `monster`(`id`,`age`,`birthday`,`email`,`gender`,`name`,`salaary`) "  + "VALUES(NULL, #{age}, #{birthday}, #{email}, #{gender}, #{name}, #{salary})" ) public  void  addMonster ( Monster  monster) ; @Delete ( "DELETE FROM `monster` where id = #{id}" ) public  void  delMonster ( Integer  id) ; @Update ( "UPDATE `monster` SET "  + "`age` = #{age}, `birthday` = #{birthday}, "  + "`email` = #{email}, `name` = #{name}, `salary` = #{salary} "  + "WHERE `id` = #{id}" ) public  void  updateMonster ( Monster  monster) ; @Select ( "SELECT * FROM `monster` WHERE id = #{id}" ) public  Monster  getMonsterById ( Integer  id) ; @Select ( "SELECT * FROM `monster`" ) public  List < Monster > findAllMonster ( ) ; } package  com. util ; 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  java. io.  IOException ; 
import  java. io.  InputStream ; 
public  class  MyBatisUtils  { private  static  SqlSessionFactory  sqlSessionFactory; static  { try  { String  resource =  "mybatis-config.xml" ; InputStream  resourceAsStream =  Resources . getResourceAsStream ( resource) ; sqlSessionFactory =  new  SqlSessionFactoryBuilder ( ) . build ( resourceAsStream) ; }  catch  ( IOException  e)  { throw  new  RuntimeException ( e) ; } } public  static  SqlSession  getSqlSession ( )  { return  sqlSessionFactory. openSession ( ) ; } 
} import  com. sun. entity.  Monster ; 
import  com. sun. mapper.  MonsterAnnotation ; 
import  com. sun. mapper.  MonsterMapper ; 
import  com. util.  MyBatisUtils ; 
import  org. apache. ibatis. session.  SqlSession ; 
import  org. junit.  Before ; 
import  org. junit.  Test ; import  java. util.  Date ; 
import  java. util.  List ; 
public  class  MonsterAnnotationTest  { private  SqlSession  sqlSession;  private  MonsterAnnotation  monsterAnnotation; @Before  public  void  init ( )  { sqlSession =  MyBatisUtils . getSqlSession ( ) ; monsterAnnotation =  sqlSession. getMapper ( MonsterAnnotation . class ) ; } @Test public  void  addMonster ( )  { for  ( int  i =  0 ;  i <  2 ;  i++ )  { Monster  monster =  new  Monster ( null ,  10  +  i,  new  Date ( ) ,  "sun@qq.com" ,  0 ,  "孙显圣" ,  10.0  +  i) ; monsterAnnotation. addMonster ( monster) ; } if  ( sqlSession !=  null )  { sqlSession. commit ( ) ; sqlSession. close ( ) ; } System . out. println ( "成功" ) ; } @Test public  void  find ( )  { List < Monster > =  monsterAnnotation. findAllMonster ( ) ; for  ( Monster  monster :  allMonster)  { System . out. println ( monster) ; } if  ( sqlSession !=  null )  { sqlSession. close ( ) ; } } } 如果有/n则将这个/n去掉然后替换成空格 如果一行的前面有很多空格,就将这些空格都去掉 
 
 
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=root
 
 
 
 
  < build> < resources> < resource> < directory> </ directory> < includes> < include> </ include> </ includes> </ resource> < resource> < directory> </ directory> < includes> < include> </ include> < include> </ include> </ includes> </ resource> </ resources> </ build>