Lin Bingwen Evankaka Original works. Reprint please specify the source Http://blog.csdn.net/evankaka
Mybatis Introduction to "Mybatis" and the first Mybatis instance implementation additions and deletions and "Mybatis" Mybatis interface programming methods to implement additions and deletions to illustrate how to use XML to manipulate Mybatis to implement CRUD, But a lot of XML configuration files are very annoying to write. So MyBatis also provides an annotation-based configuration, so let's take a look at examples of using interfaces and annotations to implement CRUD.
This article works free download
I. CREATE DATABASE, data table
Use test;
CREATE TABLE T_employeer (
employeer_id int not null primary key auto_increment,
employeer_name varchar (50) Default NULL,
employeer_age int default NULL,
employeer_department varchar (+) default NULL,
Employeer_ Worktype varchar (+) default null
Ii. Creation of the project
The entire project directory is as follows:
Remember to import the appropriate package.
1, the employee corresponding class Employeer.java
Package Com.mucfc.model;
/** * Employee Information class * @author Linbingwen * @time 2015.5.11 * * * public class Employeer {private Integer employeer_id;
Private String Employeer_name;
Private Integer employeer_age;
Private String employeer_department;
Private String Employeer_worktype;
Public Employeer () {super ();
} public Integer getemployeer_id () {return employeer_id;
} public void setemployeer_id (Integer employeer_id) {this.employeer_id = employeer_id;
} public String Getemployeer_name () {return employeer_name;
} public void Setemployeer_name (String employeer_name) {this.employeer_name = Employeer_name;
} public Integer Getemployeer_age () {return employeer_age;
} public void Setemployeer_age (Integer employeer_age) {this.employeer_age = Employeer_age;
} public String Getemployeer_department () {return employeer_department;
} public void Setemployeer_department (String employeer_department) {this.employeer_department = employeer_department; } publicString Getemployeer_worktype () {return employeer_worktype;
} public void Setemployeer_worktype (String employeer_worktype) {this.employeer_worktype = Employeer_worktype; } @Override Public String toString () {return "Employeer [employeer_id=" + employeer_id + ", employeer_name=" + Em Ployeer_name + ", employeer_age=" + Employeer_age + ", employeer_department=" + employeer_department + ", employee
R_worktype= "+ Employeer_worktype +"] ";
}
}
Employeer.xml file to place some mappings and delete SQL statements.
<?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" >
<mapper namespace= "Com.mucfc.dao.EmployeerMapper" >
<!--define the mapping of database fields to entity objects--
< Resultmap type= "Employeer" id= "Employeerresultmap" >
<id property= "employeer_id" column= "employeer_id"/ >
<result property= "Employeer_name" column= "Employeer_name"/> <result
property= "Employeer_age "column=" Employeer_age "/>
<result property=" employeer_department "column=" Employeer_department "/>
<result property= "Employeer_worktype" column= "Employeer_worktype"/>
</resultMap>
< /mapper>
2, Configuration 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" > <!--This is the root tag--<configuration> <!--settings Alias--<typeAliases> <typealias alias= "Employeer" t Ype= "Com.mucfc.model.Employeer"/> </typeAliases> <!--configuration data source related information-<environments default= "Develo Pment "> <environment id=" Development "> <transactionmanager type=" JDBC "/> <datasource type=" POOL ED "> <property name=" Driver "value=" Com.mysql.jdbc.Driver "/> <property name=" url "value=" jdbc:mysql://l Ocalhost:3306/test?characterencoding=utf-8 "/> <property name=" username "value=" root "/> <property name= "Password" value= "christmas258@"/> </dataSource> </environment> </environments> <!--listed Mapping files--<mappers> <mapper resource= "Com/mucfc/model/employeer.xml"/> </mapperS> </configuration>
3, Employeermapper.java in the addition of SQL mapping statements, using annotations to implement
Package Com.mucfc.dao;
Import java.util.List;
Import Java.util.Map;
Import Org.apache.ibatis.annotations.Delete;
Import Org.apache.ibatis.annotations.Insert;
Import Org.apache.ibatis.annotations.ResultMap;
Import Org.apache.ibatis.annotations.Select;
Import Org.apache.ibatis.annotations.SelectKey;
Import Org.apache.ibatis.annotations.Update;
Import Com.mucfc.model.Employeer; /** * SQL statement Mapping class * @author Linbingwen * @time 2015.5.11 */public interface Employeermapper {@Select ("select * FROM ' T_employeer ' where employeer_name like #{employeer_name} ' @ResultMap ("Employeerresultmap") public list<employeer
> Findemployeerbyname (String employeer_name); @Select ("select* from ' T_employeer ' where employeer_name=#{0} and Employeer_department=#{1}") @ResultMap (" Employeerresultmap ") Public list<employeer> findemployeerbynameanddep (String employeer_name,string employeer_
department); @ResultMap ("Employeerresultmap") @Select ("select* from ' T_employeer ' WHere Employeer_name=#{key1} and Employeer_department=#{key2} ') public list<employeer>
FINDEMPLOYEERBYNAMEANDDEP1 (map<string,string> Map); @Select ("select* from ' T_employeer ' where employeer_id =#{id}") @ResultMap ("Employeerresultmap") public employeer Finde
Mployeerbyid (int id); @Insert ("Insert into ' t_employeer ' (Employeer_name,employeer_age,employeer_department,employeer_worktype) VALUES (# {Employeer_name},#{employeer_age},#{employeer_department},#{employeer_worktype}) "public void AddEmployeer (
Employeer employeer);
@Delete ("Delete from ' t_employeer ' where employeer_id = #{employeer_id}") public void Deleteemployeer (int id); @Update ("Update t_employeer set employeer_name = #{employeer_name},employeer_age= #{employeer_age},employeer_
department = #{employeer_department}, employeer_worktype=#{employeer_worktype} where employeer_id = #{employeer_id} ")
public void Updateemployeer (Employeer employeer);
}
4. Test use
(1) Single parameter lookup
/**
* * Find *
/public static employeer Findemployeerbyid (int id) {
sqlsession session = NULL;
Employeer Employeer=null;
try {
session = Sqlsessionfactory.opensession ();
Employeermapper Employeermapper=session.getmapper (employeermapper.class);
Employeer=employeermapper.findemployeerbyid (ID);
} finally {
session.close ();
}
return employeer;
}
Corresponding SQL statement:
@Select ("select* from ' T_employeer ' where employeer_id =#{id}")
@ResultMap ("Employeerresultmap")
public Employeer Findemployeerbyid (int id);
Call:
System.out.println (Findemployeerbyid (Ten));
System.out.println (Findemployeerbyid (11));
Results:
(2) Add
/**
* Add
*
/public static void Addemployeer (Employeer employeer) {
sqlsession session = NULL;
try {
session = Sqlsessionfactory.opensession ();
Employeermapper Employeermapper=session.getmapper (employeermapper.class);
Employeermapper.addemployeer (employeer);
Session.commit ();
} finally {
session.close ();
}
}
Corresponding SQL statement:
@Insert ("Insert into ' t_employeer ' (Employeer_name,employeer_age,employeer_department,employeer_worktype) VALUES (# {Employeer_name},#{employeer_age},#{employeer_department},#{employeer_worktype}) "Public
void AddEmployeer (Employeer employeer);
(3) Change
/**
* Change
*
/public static void Updateemployeer (Employeer employeer) {
sqlsession session = NULL;
try {
session = Sqlsessionfactory.opensession ();
Employeermapper Employeermapper=session.getmapper (employeermapper.class);
Employeermapper.updateemployeer (employeer);
Session.commit ();
} finally {
session.close ();
}
}
Corresponding SQL statement:
@Update ("Update t_employeer set employeer_name = #{employeer_name},employeer_age= #{employeer_age},employeer_ department = #{employeer_department}, Employeer_worktype=#{employeer_worktype} where employeer_id = #{employeer _ID} ") Public
void Updateemployeer (Employeer employeer);
(4) Delete
/** * * * *
/public
static void deleteemployeer (int id) {
sqlsession session = NULL;
try {
session = Sqlsessionfactory.opensession ();
Employeermapper Employeermapper=session.getmapper (employeermapper.class);
Employeermapper.deleteemployeer (ID);
Session.commit ();
} finally {
session.close ();
}
}
Corresponding SQL statement:
@Delete ("Delete from ' t_employeer ' where employeer_id = #{employeer_id}") Public
void Deleteemployeer (int id);
(5) List query
/** * Single parameter query list */public static list<employeer> getemployeerlist (String employeer_name) {sqlsession session =
Null
List<employeer> Employeers=null;
try {session = Sqlsessionfactory.opensession ();
Employeermapper Employeermapper=session.getmapper (Employeermapper.class);
Employeers = Employeermapper.findemployeerbyname (employeer_name);
Session.commit ();
} finally {session.close ();
} return employeers; }/** * Multi-parameter query list */public static list<employeer> getemployeerlist (String employeer_name,string Employeer_depar
Tment) {sqlsession session = NULL;
List<employeer> Employeers=null;
try {session = Sqlsessionfactory.opensession ();
Employeermapper Employeermapper=session.getmapper (Employeermapper.class);
Employeers = EMPLOYEERMAPPER.FINDEMPLOYEERBYNAMEANDDEP (Employeer_name, employeer_department);
Session.commit ();
} finally {session.close ();
} return employeers;
}/** * Multi-parameter query list, using MAP */public static list<employeer> getemployeerlist (map<string, string> Map)
{sqlsession session = NULL;
List<employeer> Employeers=null;
try {session = Sqlsessionfactory.opensession ();
Employeermapper Employeermapper=session.getmapper (Employeermapper.class);
Employeers = EMPLOYEERMAPPER.FINDEMPLOYEERBYNAMEANDDEP1 (map);
Session.commit ();
} finally {session.close ();
} return employeers; }
The corresponding SQL statement
@Select ("Select * from ' T_employeer ' where Employeer_name like #{employeer_name}")
@ResultMap ("Employeerresultmap ") Public
list<employeer> findemployeerbyname (String employeer_name);
@Select ("select* from ' T_employeer ' where employeer_name=#{0} and Employeer_department=#{1}")
@ResultMap (" Employeerresultmap ") Public
list<employeer> FINDEMPLOYEERBYNAMEANDDEP (String employeer_name,string employeer_department);
@ResultMap ("Employeerresultmap")
@Select ("select* from ' T_employeer ' where employeer_name=#{key1} and Employeer_ Department=#{key2} ") Public
list<employeer> findEmployeerByNameandDep1 (map<string,string> Map);
@Select ("select* from ' T_employeer ' where employeer_id =#{id}")
@ResultMap ("Employeerresultmap")
public Employeer Findemployeerbyid (int id);
Test:
System.out.println ("========================= using single parameter Query ===========================");
List<employeer> employeers=getemployeerlist ("Zhang San");
for (Employeer employeer:employeers) {
System.out.println (employeer);
}
System.out.println ("========================= using multiple single parameter query ===========================");
List<employeer> employeers1=getemployeerlist ("Zhang San", "Product Two");
for (Employeer employeer1:employeers1) {
System.out.println (employeer1);
}
System.out.println ("========================= using multiple single parameter map mode query ===========================");
map<string, string> map = new hashmap<string, string> ();
Map.put ("Key1", "Ming");
Map.put ("Key2", "accounting department");
List<employeer> employeers2=getemployeerlist (map);
for (Employeer employeer2:employeers2) {
System.out.println (employeer2);
}
Results:
Lin Bingwen Evankaka Original works. Reprint please specify the source Http://blog.csdn.net/evankaka
This article works free download