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