Hibernate is a perfect persistence framework, but this framework is too large because of its various functions and versatility. In addition, the encapsulation is too good, resulting in less autonomy. Therefore, mybatis is welcomed by many companies. Mybatis is previously called ibatis. Its usage is slightly different. Here I use mybatis 3.
1. Go to the official website to download the jar package of mybatis http://mybatis.github.io/
2. Configure the sqlmapconfig. xml file
<? XML version = "1.0" encoding = "UTF-8"?> <! Doctype configurationpublic "-// mybatis.org//dtd config 3.0 //" http://mybatis.org/dtd/mybatis-3-config.dtd "> <configuration> <! -- Use the bean alias in the mapping file --> <typealiases> <typealias type = "com. lubby. bean. worker "alias =" worker "/> </typealiases> <environments default =" development "> <environment id =" development "> <! -- Use JDBC Transaction Management --> <transactionmanager type = "JDBC"/> <! -- Data source --> <datasource type = "pooled"> <property name = "driver" value = "org. postgreSQL. driver "/> <property name =" url "value =" JDBC: PostgreSQL: // 127.0.0.1: 5432/Lubby "/> <property name =" username "value =" admin "/> <property name =" password "value =" admin "/> </datasource> </ environment> </environments> <! -- The ing file of multiple entities can be written here --> <mappers> <mapper resource = "com/Lubby/bean/workersqlmap. xml"/> </mappers> </configuration>
3. Worker Bean
package com.lubby.bean;public class Worker {private String id;private String name;int age;public Worker() {super();}public Worker(String id, String name, int age) {super();this.id = id;this.name = name;this.age = age;}public String getId() {return id;}public void setId(String 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;}@Overridepublic String toString() {return "Worker [id=" + id + ", name=" + name + ", age=" + age + "]";}}
3. Bean mapping configuration file workersqlmap. xml
<? XML version = "1.0" encoding = "UTF-8"?> <! Doctype mapperpublic "-// mybatis.org//dtd mapper 3.0 //" http://mybatis.org/dtd/mybatis-3-mapper.dtd "> <! -- Namespace used to identify mapper files in the specified XML for Java code calls --> <mapper namespace = "com. lubby. bean "> <SQL id =" field "> ID, name, age </SQL> <select id = "getallworker" resulttype = "worker"> select <include refID = "field"/> from worker </SELECT> <select id = "getworkerbyid "resulttype =" worker "> select <include refID =" field "/> from worker whereid =#{ ID} </SELECT> <select id =" getworkerbyname "resulttype =" worker ""> select <include refID =" field "/> from worker where name like '%' | |#{ name} | '%' </SELECT> <insert id =" addworker "> insert into worker (<include refID =" field "/>) values (# {ID}, # {name}, # {age}) </Insert> <update id = "updateworker"> Update worker set name =#{ name }, age =#{ age} whereid =#{ ID} </update> <Delete id = "deleteworkerbyid"> Delete from worker where ID =#{ ID }; </delete> </mapper>4. Use mybatis in the main function
package com.lubby.test;import java.io.IOException;import java.io.Reader;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 com.lubby.bean.Worker;public class Test {public static void main(String[] args) {SqlSessionFactory factory = null;try {Reader reader = Resources.getResourceAsReader("com/lubby/config/SqlMapConfig.xml");factory = new SqlSessionFactoryBuilder().build(reader);} catch (IOException e) {e.printStackTrace();}SqlSession session = factory.openSession();Worker worker = new Worker("003", "Join", 100);//session.insert("com.lubby.bean.addWorker", worker);//session.delete("com.lubby.bean.deleteWorkerById", "005");//session.commit();List<Worker> list = session.selectList("com.lubby.bean.getAllWorker");System.out.println(session.selectOne("com.lubby.bean.getWorkerById", "001"));System.out.println(session.update("com.lubby.bean.updateWorker", worker));System.out.println(session.delete("com.lubby.bean.deleteWorkerById", "004"));session.commit();System.out.println(session.selectList("com.lubby.bean.getWorkerByName", "J"));System.out.println(list);}}