has been practical hibernate for development, recently the company in the use of mybatis, according to the online example, made a simple demo, in order to review later
The overall structure such as
The first is to create a project, then import two jar packages, and then write the mybatis jdbc configuration file Configuration.xml
Configuration.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" > <configuration><typealiases><typealias alias= "User" type= "Com.demo.bean.User"/></ Typealiases><environments default= "Development" ><environment id= "development" >< TransactionManager type= "JDBC"/><datasource type= "pooled" ><property name= "Driver" value= " Oracle.jdbc.driver.OracleDriver "/><property name=" url "value=" Jdbc:oracle:thin:@127.0.0.1:1521:orcl "/> <property name= "username" value= "Scott"/><property name= "password" value= "Scott"/></datasource> </environment></environments><mappers><mapper resource= "Com/demo/bean/User.xml"/></ Mappers></configuration>
User class, omitting getter and setter methods in the article
Package Com.demo.bean;import Java.util.date;public class User {private string Id;private string Name;private string PASSW Ord;private Date birthday;private String address;}
Then create the SQL mapping file User.xml
<?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.demo.bean.User" ><!--query All users--><select id= "selectallusers" resulttype= "User" > SELECT * FROM valid_user</select><!--query users--><select id= "Finduserbyid" resulttype= "user" based on ID > SELECT * from Valid_user where id=#{id}</select><!--update user--><select id= "Updateuserbyid" based on ID resulttype= "User" >update Valid_user set name=#{name},address=#{address} where id=#{id}</select><!--add new user-->< Select Id= "AddUser" resulttype= "User" >insert into Valid_user (id,name,password,address) VALUES (seq_valid_ User.nextval,#{name},#{password},#{address}) </select><!--Delete user--><delete id= "Deleteuserbyid" based on ID >delete from Valid_user where id=#{id}</delete></mapper>
And then it's editing the test class.
Package Com.demo.test;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.demo.bean.user;public class TestConnection {private Static sqlsessionfactory sqlsessionfactory;private static reader reader;static {try {reader = Resources.getresourceasreader ("Configuration.xml"); sqlsessionfactory = new Sqlsessionfactorybuilder (). Build ( Reader);} catch (Exception e) {e.printstacktrace ();}} /** * Query All user objects * @param id */public static void Selectallusers () {sqlsession session = Sqlsessionfactory.opensession (); t ry {list<user> listUsers = session.selectlist ("Com.demo.bean.User.selectAllUsers"); for (User user:listusers) { System.out.println ("ID:" + user.getid () + ", Name:" + user.getname () + ", Password:" + user.getpassword () + ", Address:" + user.getaddress ());}} finally {session.close ();}} /** * Query user object based on ID * @param ID*/public static void Finduserbyid (String ID) {sqlsession session = Sqlsessionfactory.opensession (); try {User user = (user) Session.selectone ("com.demo.bean.User.findUserById", id); System.out.println ("ID:" + user.getid () + ", Name:" + user.getname () + ", Password:" + user.getpassword () + ", Address:" + user.getaddress ());} finally {session.close ();}} /** * Update User object based on ID * @param ID */public static void Updateuserbyid (String id,user User) {sqlsession session = Sqlsessionfa Ctory.opensession (); try {session.update ("com.demo.bean.User.updateUserById", User); Session.commit ();} finally { Session.close ();}} /** * Add a User object */public static void AddUser (user user) {sqlsession session = Sqlsessionfactory.opensession (); try {Sessio N.insert ("Com.demo.bean.User.addUser", User); Session.commit (); } finally {session.close ();}} /** * Delete a user object */public static void Deleteuserbyid (String ID) {sqlsession session = Sqlsessionfactory.opensession (); try {Session.delete ("com.demo.bean.User.deleteUserById", id); Session.commit ();} finAlly {Session.close ();}} public static void Main (string[] args) {selectallusers ();//finduserbyid ("1");//Query User Object//user user=new user () based on ID;/ User.setid ("2"),//user.setname ("Zams"),//user.setaddress ("Henan, Zhengzhou"),//updateuserbyid ("2", user);//Update user object by ID// Finduserbyid ("2"); User Add_user=new User (),//add_user.setname ("Gulina"),//add_user.setpassword ("3412312");//add_user.setaddress (" Henan, Zhengzhou, Kaifeng ");//adduser (add_user);//Update the User Object//finduserbyid (" 5 ") by ID; Deleteuserbyid ("4");}}
The operation effect is as follows;
Id:1, Name: X-rapido, Password: rapido, Address: Beijing Chaoyang, Haidian id:2, Name: zams, Password: gril, Address: Henan, Zhengzhou id:3, Name: Gerga duo, Password: 3412312, Address: Henan, Zhengzhou id:5, Name: Gulina , Password: 3412312, Address: Henan, Zhengzhou, Kaifeng
MyBatis database additions and deletions to the operation, a simple example