MyBatis based on annotations to implement additions and deletions and multi-parameter list query

Source: Internet
Author: User
Tags commit create database

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.