Add, delete, modify, and query of mybatis

Source: Internet
Author: User

I. Introduction:

Mybatis is an open-source Apache project ibatis. In 2010, this project was migrated from Apache Software Foundation to Google Code and renamed mybatis.

Mybatis is a Java-based persistent layer framework.


2. add, delete, modify, and query:

1. code structure:



2. user entity class:

/*** User entity class */public class user {private string ID; private string uname; // Note: The field name is inconsistent with the database field private string address; public String GETID () {return ID;} public void setid (string ID) {This. id = ID;} Public String getuname () {return uname;} public void setuname (string uname) {This. uname = uname;} Public String getaddress () {return address;} public void setaddress (string address) {This. address = address ;}@ overridepublic string tostring () {return "{ID:" + ID + ", uname:" + uname + ", address: "+ address + "}";}}

3. Object ing file: User. xml

<? XML version = "1.0" encoding = "UTF-8"?> <! Doctype mapperpublic "-// mybatis.org//dtd mapper 3.0 //" http://mybatis.org/dtd/mybatis-3-mapper.dtd "> <mapper namespace =" com. zdp. domain. User "> <! -- Database Field corresponds to object field --> <resultmap type = "user" id = "userbean"> <ID column = "ID" property = "ID"/> <result column = "username" property = "uname"/> <result column = "Address" property = "Address"/> </resultmap> <! -- Query: Query all users --> <select id = "selectallusers" resultmap = "userbean"> select ID, username, address from user </SELECT> <! -- Query: query the user by ID. The returned value is userbean --> <! -- ID: Unique Identifier of the current SQL statement. parametertype: parameter type, resulttype: return Value Type --> <select id = "selectuserbyid" parametertype = "string" resultmap = "userbean"> select * from user where ID =#{ userid} </SELECT> <! -- Query: query the user by ID. The returned value is hashmap --> <select id = "selectuserbyidformap" parametertype = "string" resulttype = "hashmap"> select ID, username, address from user where ID =#{ userid} </SELECT> <! -- Add: insert user. The parameter is userbean (call the getter method to obtain the parameter value) --> <insert id = "insertuser" parametertype = "user"> insert into user (ID, username, address) values (# {ID}, # {uname}, # {address}); </Insert> <! -- Add: insert user. The parameter is hashmap (usermap is called. get (key) GET parameters --> <insert id = "insertuserformap" parametertype = "hashmap"> insert into user (ID, username, address) values (# {ID }, # {uname}, # {address}); </Insert> <! -- Delete: delete a user by ID, the parameter is userid --> <Delete id = "deleteuserbyid" parametertype = "string"> Delete from user where ID =#{ userid} </delete> <! -- Modify: update the user according to the ID. The parameter is userbean (call the getter method to obtain the parameter value) --> <update id = "updateuserbyid" parametertype = "user"> Update user set username =#{ uname }, address = # {address} Where id = # {ID} </update> <! -- Modify: update the user according to the ID. The parameter is map (call usermap. get (key) GET parameters --> <update id = "updateuserbyidformap" parametertype = "hashmap"> Update user set username =#{ uname }, address = # {address} Where id = # {ID} </update> <! -- Query: dynamic SQL: Use "where 1 = 1" --> <select id = "selectuserbycondition1" parametertype = "user" resultmap = "userbean"> select ID, username, address from user where 1 = 1 <if test = "ID! = NULL "> and ID =#{ ID} </If> <! -- Uname indicates the Object Property --> <if test = "uname! = NULL "> and username =#{ uname} </If> <if test =" address! = NULL "> and address =#{ address} </If> </SELECT> <! -- Query: dynamic SQL: Use the where tag --> <select id = "selectuserbycondition2" parametertype = "user" resultmap = "userbean"> select ID, username, address from user <where> <if test = "ID! = NULL "> ID =#{ ID} </If> <! -- Uname indicates the Object Property --> <if test = "uname! = NULL "> and username =#{ uname} </If> <if test =" address! = NULL "> and address =#{ address} </If> </where> </SELECT> </mapper>

4. Database Configuration: sqlmapconfig. xml

<? XML version = "1.0" encoding = "UTF-8"?> <! Doctype configurationpublic "-// mybatis.org//dtd config 3.0 //" http://mybatis.org/dtd/mybatis-3-config.dtd "> <configuration> <typealiases> <typealias type =" com. zdp. domain. user "alias =" user "/> </typealiases> <environments default =" development "> <environment id =" development "> <transactionmanager type =" JDBC "/> <datasource type = "pooled"> <property name = "driver" value = "com. mySQL. JDBC. driver "/> <property name = "Url" value = "JDBC: mysql: // localhost/test "/> <property name =" username "value =" root "/> <property name =" password "value =" root "/> </datasource> </environment> </environments> <mappers> <! -- Ing file location --> <mapper resource = "com/zdp/domain/user. xml"/> </mappers> </configuration>

5. SQL file:

CREATE DATABASE test;    USE test;    CREATE TABLE USER(    id VARCHAR(36) PRIMARY KEY,    username VARCHAR(64),    address VARCHAR(128)   )    INSERT INTO USER (id, username, address) VALUES("001", "zhangsan", "Wuhan");  INSERT INTO USER (id, NAME, address) VALUES("002", "lisi", "Shanghai");   

6. log4j

log4j.rootLogger=DEBUG, Consolelog4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%nlog4j.logger.java.sql.ResultSet=INFOlog4j.logger.org.apache=INFOlog4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUG


7. Test file:

/*** Test mybatis-user addition, deletion, modification, and query */public class usertest {private sqlsessionfactory SSF; @ beforepublic void initsf () throws exception {string resource = "sqlmapconfig. XML "; inputstream = resources. getresourceasstream (Resource); SSF = new sqlsessionfactorybuilder (). build (inputstream);} // query all users @ testpublic void testselectallusers () throws exception {sqlsession session = SSF. opensession (); List <user> Users = session. selectlist ("com. zdp. domain. user. selectallusers "); For (User: Users) {system. out. println (User) ;}}// query the user by ID. The returned value is userbean @ testpublic void testselectuserbyid () throws exception {sqlsession session = SSF. opensession (); User user = session. selectone ("com. zdp. domain. user. selectuserbyid "," 001 "); system. out. println (User);} // query the user by ID. The returned value is hashmap @ testpublic void testselectuserbyidformap () throws exception {sqlsession session = SSF. opensession (); Map <string, Object> usermap = session. selectone ("com. zdp. domain. user. selectuserbyidformap "," 001 "); system. out. println (usermap);} // insert user. The parameter is userbean @ testpublic void testinsertuser () throws exception {sqlsession session = SSF. opensession (); // construct Object User user = new user (); User. setid ("003"); User. setuname ("wangwu"); User. setaddress ("Beijing"); int I = session. insert ("com. zdp. domain. user. insertuser ", user); // submit the transaction session. commit ();} // insert user. The parameter is hashmap @ testpublic void testinsertuserformap () throws exception {sqlsession session = SSF. opensession (); Map <string, Object> usermap = new hashmap <string, Object> (); usermap. put ("ID", "004"); usermap. put ("uname", "zhaoliu"); usermap. put ("Address", "Tianjin"); int I = session. insert ("com. zdp. domain. user. insertuserformap ", usermap); Session. commit ();} // delete a user by ID. The parameter is userid @ testpublic void testdeleteuserbyid () throws exception {sqlsession session = SSF. opensession (); int I = session. delete ("com. zdp. domain. user. deleteuserbyid "," 004 "); Session. commit ();} // update the user by ID. The parameter is userbean @ testpublic void testupdateuserbyid () throws exception {sqlsession session = SSF. opensession (); User user = new user (); User. setid ("001"); User. setuname ("zhangsanf"); User. setaddress ("Wuhan"); int I = session. update ("com. zdp. domain. user. updateuserbyid ", user); Session. commit ();} // update the user by ID. The parameter is hashmap @ testpublic void testupdateuserbyidformap () throws exception {sqlsession session = SSF. opensession (); Map <string, Object> usermap = new hashmap <string, Object> (); usermap. put ("ID", "001"); usermap. put ("uname", "zhangsan"); usermap. put ("Address", "Beijing"); int I = session. update ("com. zdp. domain. user. updateuserbyidformap ", usermap); Session. commit ();} // dynamic condition query: @ testpublic void testselectuserbycondition () throws exception {sqlsession session = SSF. opensession (); User user = new user (); User. setuname ("Lisi"); List <user> Users = session. selectlist ("com. zdp. domain. user. selectuserbycondition1 ", user); // list <user> Users = session. selectlist ("com. zdp. domain. user. selectuserbycondition2 ", user); For (User U: Users) {system. out. println (u );}}}


Add, delete, modify, and query of mybatis

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.