MyBatis Development and additions

Source: Internet
Author: User

This article will implement add and subtract function, because the query has been implemented in the previous article.

1. Realize the "increase" function of data:

Add a new method to the Userdao.java file:

/** * Add a user * @param users */public void addUser (user user);

Then configure the SQL for this method in Usermapper.xml:

<!--a new user--><!--Segeneratedkeys set to "true" indicates that MyBatis gets the primary key generated automatically by the database; keyproperty= "id" Specifies the id attribute to inject the acquired primary key value into the student--><insert id= "AddUser" parametertype= "user" usegeneratedkeys= "true" keyproperty= " ID ">insert into T_user (user_name,user_age,user_address) VALUES (#{username},#{userage},#{useraddress}) </ Insert>

Then test this method in the Usertest.java class:

Package Cn.clear.mybatis.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 Cn.clear.mybatis.dao.userdao;import Cn.clear.mybatis.model.article;import cn.clear.mybatis.model.user;/** * Test MyBatis * @author Clear * */public class Usertest {//define Sessionfactory Properties private static Sqlsessionfactory sessionfactory; private static reader Reader;static{try {//read profile information reader = Resources.getresourceasreader ("Configuration.xml");// Build sessionfactorysessionfactory = new Sqlsessionfactorybuilder (). build (reader); catch (IOException e) {//TODO auto-generated catch Blocke.printstacktrace ();}} public static void Main (string[] args) {addUser (); Finduserbyidandfindalluser ();} public static void Finduserbyidandfindalluser () {sqlsession session = Sessionfactory.opensession (); try{// Using the original SelectOne queryUser user = Session.selectone ("Cn.clear.mybatis.model.UserMapper.selectUserById", 1);//Use DAO interface to query Userdao Userdao = Session.getmapper (Userdao.class); User user = Userdao.selectuserbyid (1); System.out.println (User.getid () + "" "+user.getusername () +" "+user.getuserage () +" "+user.getuseraddress ()); System.out.println ("------------------------thank sparkly for dividing line-----------------------------"); List<user> userlist = Userdao.selectalluser (); for (User u:userlist) {System.out.println (U.getid () + "" + U.getusername () + "+u.getuserage () +" "+u.getuseraddress ())}} Finally{session.close ();}} public static void AddUser () {User user = new User (); User.setusername ("small Three"); user.setuserage; User.setuseraddress (" Tianhe Sports Center, Guangzhou, China); sqlsession session = Sessionfactory.opensession (); try {Userdao Userdao = Session.getmapper (Userdao.class); Userdao.adduser (user); Session.commit (); System.out.println ("The current new user ID is:" +user.getid ());} finally {session.close ();}}}

Run the test class, and the console prints:

The current new user ID is: 31 kid 26 Guangzhou Tianhe Wan Ling International Center------------------------thank sparkly for dividing line-----------------------------3 small 325 china Guangzhou Tianhe Sports Center 2 small 227 Guangzhou Tianhe Sports Center 1 Kid 26 Guangzhou Tianhe Wan Ling International Center

As a result, we succeeded in implementing the add-on function.

The following implements the Modify (update) feature:

New Methods in Userdao.java:

        /** * Update users * @param user */public void UpdateUser (user user);    

To configure SQL for the method in Usermapper.xml:

<!--update user--><update id= "updateUser" parametertype= "user" >update T_user set User_name=#{username},user_ Age=#{userage},user_address=#{useraddress} where id=#{id}</update>

Write the test method in Usertest.java:

Package Cn.clear.mybatis.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 Cn.clear.mybatis.dao.userdao;import Cn.clear.mybatis.model.article;import cn.clear.mybatis.model.user;/** * Test MyBatis * @author Clear * */public class Usertest {//define Sessionfactory Properties private static Sqlsessionfactory sessionfactory; private static reader Reader;static{try {//read profile information reader = Resources.getresourceasreader ("Configuration.xml");// Build sessionfactorysessionfactory = new Sqlsessionfactorybuilder (). build (reader); catch (IOException e) {//TODO auto-generated catch Blocke.printstacktrace ();}} public static void Main (string[] args) {//adduser (); update (); Finduserbyidandfindalluser ();//delete ();// Getuserarticle ();} public static void Finduserbyidandfindalluser () {sqlsession session = SessionfaCtory.opensession (); try{//uses the original selectone query//user user = Session.selectone (" Cn.clear.mybatis.model.UserMapper.selectUserById ", 1);//Use the DAO interface to query Userdao Userdao = Session.getmapper (userdao.class ); User user = Userdao.selectuserbyid (1); System.out.println (User.getid () + "" "+user.getusername () +" "+user.getuserage () +" "+user.getuseraddress ()); System.out.println ("------------------------thank sparkly for dividing line-----------------------------"); List<user> userlist = Userdao.selectalluser (); for (User u:userlist) {System.out.println (U.getid () + "" + U.getusername () + "+u.getuserage () +" "+u.getuseraddress ())}} Finally{session.close ();}} public static void AddUser () {User user = new User (); User.setusername ("small Three"); user.setuserage; User.setuseraddress (" Tianhe Sports Center, Guangzhou, China); sqlsession session = Sessionfactory.opensession (); try {Userdao Userdao = Session.getmapper (Userdao.class); Userdao.adduser (user); Session.commit (); System.out.println ("The current new user ID is:" +user.getid ());} finally {session.close ();}} public static void Update () {sqlsession Session = Sessionfactory.opensession (); Try{userdao Userdao = Session.getmapper (Userdao.class); User u = Userdao.selectuserbyid (2); U.setusername ("Small Two"); U.setuseraddress ("Guangzhou Tianhe District is good square"); Userdao.updateuser (U); Session.commit ();} Finally{session.close ();}}}

Run the test class, and the console prints:

1 Kid 26 Guangzhou Tianhe Wan Ling International Center------------------------thank sparkly for dividing line-----------------------------3 small 325 china Guangzhou Tianhe Sports Center 2 small 227 guangzhou Tianhe District Jia Square 1 boy 26 Guangzhou Tianhe Wan Ling International Center

Update succeeded.

The following implements the Delete function (delete).

Add a method to the Userdao:

/** * Delete user * @param id */public void deleteuser (Integer id);

To configure SQL in Usermapper.xml:

<!--delete user--><delete id= "deleteuser" parametertype= "int" >delete from T_user where id=#{id}</delete>

Add a test method to the Usertest.java class:

Package Cn.clear.mybatis.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 Cn.clear.mybatis.dao.userdao;import Cn.clear.mybatis.model.article;import cn.clear.mybatis.model.user;/** * Test MyBatis * @author Clear * */public class Usertest {//define Sessionfactory Properties private static Sqlsessionfactory sessionfactory; private static reader Reader;static{try {//read profile information reader = Resources.getresourceasreader ("Configuration.xml");// Build sessionfactorysessionfactory = new Sqlsessionfactorybuilder (). build (reader); catch (IOException e) {//TODO auto-generated catch Blocke.printstacktrace ();}} public static void Main (string[] args) {//adduser ();//update ();d elete (); Finduserbyidandfindalluser ();} public static void Finduserbyidandfindalluser () {sqlsession session = Sessionfactory.opensession ()The try{//uses the original selectone query//user user = Session.selectone ("Cn.clear.mybatis.model.UserMapper.selectUserById", 1);// Query Userdao Userdao = Session.getmapper (userdao.class) using the DAO interface; User user = Userdao.selectuserbyid (1); System.out.println (User.getid () + "" "+user.getusername () +" "+user.getuserage () +" "+user.getuseraddress ()); System.out.println ("------------------------thank sparkly for dividing line-----------------------------"); List<user> userlist = Userdao.selectalluser (); for (User u:userlist) {System.out.println (U.getid () + "" + U.getusername () + "+u.getuserage () +" "+u.getuseraddress ())}} Finally{session.close ();}} public static void AddUser () {User user = new User (); User.setusername ("small Three"); user.setuserage; User.setuseraddress (" Tianhe Sports Center, Guangzhou, China); sqlsession session = Sessionfactory.opensession (); try {Userdao Userdao = Session.getmapper (Userdao.class); Userdao.adduser (user); Session.commit (); System.out.println ("The current new user ID is:" +user.getid ());} finally {session.close ();}} public static void Update () {sqlsession session = sessionfActory.opensession (); Try{userdao Userdao = Session.getmapper (Userdao.class); User u = Userdao.selectuserbyid (2); U.setusername ("Small Two"); U.setuseraddress ("Guangzhou Tianhe District is good square"); Userdao.updateuser (U); Session.commit ();} Finally{session.close ();}} public static void Delete () {sqlsession session = Sessionfactory.opensession (); Try{userdao Userdao = Session.getmapper ( Userdao.class); Userdao.deleteuser (3); Session.commit ();} Finally{session.close ();}}}

Run the test class, and the console prints:

1 Kid 26 Guangzhou Tianhe Wan Ling International Center------------------------thank sparkly for dividing line-----------------------------2 small 227 guangzhou Tianhe District Square 1 boy 26 Guangzhou Tianhe Wan Ling International Center

So, done.

MyBatis Development and additions

Related Article

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.