MyBatis database additions and deletions to the operation, a simple example

Source: Internet
Author: User

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

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.