mybatis学习笔记

来源:互联网 发布:c语言在线编写 编辑:程序博客网 时间:2024/06/16 17:58



package com.laotou99.util;import java.io.InputStream;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class MyBatisUtil {public static SqlSessionFactory getSqlSessionFactory(){String resoure = "conf.xml";InputStream is = MyBatisUtil.class.getClassLoader().getResourceAsStream(resoure);SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);return factory;}public static SqlSession getSqlSession(){return getSqlSessionFactory().openSession();}public static SqlSession getSqlSession(boolean isAutoCommit){return getSqlSessionFactory().openSession(isAutoCommit);}}


driver=com.mysql.jdbc.Driver
url=jdbc:mysql://10.33.52.12:3306/test
name=root
password=root


<?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>  <!-- 第二节  <properties resource="db.properties" /> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${name}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments>-->  <!-- 第一节--> <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://10.33.52.12:3306/test"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments>   <mappers> <mapper resource="com/laotou99/mapping/userMapper.xml"/> <mapper class="com.laotou99.mapping.UserMapperI"/> <mapper resource="com/laotou99/mapping/orderMapper.xml"/> </mappers>   <!-- 第三节<typeAliases><typeAlias type="com.laotou99.domain.User" alias="_User" /></typeAliases> --> </configuration>

package com.laotou99.test1;import java.io.InputStream;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import com.laotou99.domain.User;public class MainTest1 {public static void main(String[] args) {String resource = "conf.xml";InputStream is = MainTest1.class.getClassLoader().getResourceAsStream(resource);SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);SqlSession sqlSession = sessionFactory.openSession();String statement = "com.laotou99.mapping.userMapper.getUser";User user = sqlSession.selectOne(statement, 1);System.out.println(user.toString());}}


package com.laotou99.test1;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import com.laotou99.domain.Order;import com.laotou99.util.MyBatisUtil;public class Test2 {@Testpublic void testGetOrderById(){SqlSession sqlSession = MyBatisUtil.getSqlSession();System.out.println(sqlSession==null);String statement = "com.laotou99.mapping.orderMapper.getOrderById";Order order = sqlSession.selectOne(statement, 2);sqlSession.close();System.out.println(order==null);System.out.println(order.toString());}@Testpublic void testGetOrderById2(){System.out.println("testGetOrderById2");SqlSession sqlSession = MyBatisUtil.getSqlSession();        String statement = "com.laotou99.mapping.orderMapper.selectOrder";        Order order = sqlSession.selectOne(statement,1);        sqlSession.close();        System.out.println(order==null);        System.out.println(order.toString());     } @Test     public void testGetOrderById3(){         SqlSession sqlSession = MyBatisUtil.getSqlSession();        // orderResultMap         String statement = "com.laotou99.mapping.orderMapper.selectOrderResultMap";         Order order = sqlSession.selectOne(statement,1);         sqlSession.close();         System.out.println(order+" "+"testGetOrderById3");     }}

package com.laotou99.test1;import java.util.List;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import com.laotou99.domain.User;import com.laotou99.mapping.UserMapperI;import com.laotou99.util.MyBatisUtil;public class TestCRUDByAnnotationMapper {@Testpublic void testAdd(){SqlSession sqlSession = MyBatisUtil.getSqlSession(true);UserMapperI mapper = sqlSession.getMapper(UserMapperI.class);User user = new User();user.setName("xpxpxp1");user.setAge(20);int add = mapper.add(user);sqlSession.close();System.out.println(add);}@Testpublic void testUpdate(){SqlSession sqlSession = MyBatisUtil.getSqlSession(true);UserMapperI mapper = sqlSession.getMapper(UserMapperI.class);User user = new User();user.setId(4);user.setName("gjjandccw");user.setAge(9999);int retResult = mapper.update(user);sqlSession.close();System.out.println(retResult);}@Testpublic void testDelete(){//SqlSession sqlSession = MyBatisUtil.getSqlSession(true);////UserMapperI mapper = sqlSession.getMapper(UserMapperI.class);////int retResult = mapper.deleteById(7);//sqlSession.close();//System.out.println(retResult);}@Testpublic void testGetUser(){SqlSession sqlSession = MyBatisUtil.getSqlSession();UserMapperI mapper = sqlSession.getMapper(UserMapperI.class);User user = mapper.getById(8);sqlSession.close();System.out.println(user);}@Testpublic void testGetAll(){SqlSession sqlSession = MyBatisUtil.getSqlSession();UserMapperI mapper = sqlSession.getMapper(UserMapperI.class);List<User> lstUsers = mapper.getAll();sqlSession.close();System.out.println(lstUsers);}}


package com.laotou99.test1;import static org.junit.Assert.*;import java.util.List;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import com.laotou99.domain.User;import com.laotou99.util.MyBatisUtil;public class TestCRUDByXmlMapper {@Testpublic void test() {//fail("Not yet implemented");}@Testpublic void testAdd(){SqlSession sqlSession = MyBatisUtil.getSqlSession(true);String statement = "com.laotou99.mapping.userMapper.addUser";User user = new User();user.setName("bbbbb");user.setAge(33);int retResult = sqlSession.insert(statement, user);sqlSession.close();System.out.println(retResult);}@Testpublic void testUpdate(){SqlSession sqlSession = MyBatisUtil.getSqlSession(true);String statement = "com.laotou99.mapping.userMapper.updateUser";User user = new User();user.setId(3);user.setName("ccccc");user.setAge(34);int retResult = sqlSession.update(statement, user);sqlSession.close();System.out.println(retResult);}@Testpublic void testDelete(){//SqlSession sqlSession = MyBatisUtil.getSqlSession(true);////String statement = "com.laotou99.mapping.userMapper.deleteUser";//int retResult = sqlSession.delete(statement, 5);//sqlSession.close();//System.out.println(retResult);}@Testpublic void testGetAll(){SqlSession sqlSession = MyBatisUtil.getSqlSession();String statement = "com.laotou99.mapping.userMapper.getAllUser";List<User> lstUsers = sqlSession.selectList(statement);sqlSession.close();System.out.println(lstUsers.toString());}}

package com.laotou99.domain;public class Order {private int id;private String orderNo;private float price;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getOrderNo() {return orderNo;}public void setOrderNo(String orderNo) {this.orderNo = orderNo;}public float getPrice() {return price;}public void setPrice(float price) {this.price = price;}@Overridepublic String toString(){return "Order [id="+id+",orderNo="+orderNo+",price="+price+"]";}}

package com.laotou99.domain;public class User {private int id;private String name;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString(){return "User类 [id="+id+",name="+name+",age="+age+"]";}}

package com.laotou99.mapping;import java.util.List;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import com.laotou99.domain.User;public interface UserMapperI {@Insert("insert into users(name,age)values(#{name},#{age})")public int add(User user);@Delete("delete from users where id=#{id}")public int deleteById(int id);@Update("update users set name=#{name},age=#{age} where id=#{id}")public int update(User user);@Select("select * from users where id=#{id}")public User getById(int id);@Select("select * from users")public List<User> getAll(); }

<?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.laotou99.mapping.orderMapper"><select id="getOrderById" parameterType="int" resultType="com.laotou99.domain.Order">select * from orders where order_id = #{id}</select><select id="selectOrder" parameterType="int" resultType="com.laotou99.domain.Order">select order_id id,order_no orderNo,order_price price from orders where order_id=#{id}</select><select id="selectOrderResultMap"parameterType="int" resultMap="orderResultMap">select * from orders where order_id=#{id}</select><resultMap type="com.laotou99.domain.Order" id="orderResultMap"><id property="id" column="order_id"/><result property="orderNo" column="order_no"/><result property="price" column="order_price"/></resultMap></mapper>

<?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.laotou99.mapping.userMapper"><!-- 第一节 --><select id="getUser" parameterType="int" resultType="com.laotou99.domain.User">select * from users where id=#{id}</select><!-- 第二节 (不能有重复的ID号) --><insert id="addUser" parameterType="com.laotou99.domain.User">insert into users(name,age)values(#{name},#{age})</insert><delete id="deleteUser" parameterType="int">delete from users = where id =#{id}</delete><update id="updateUser" parameterType="com.laotou99.domain.User">update users set name=#{name},age=#{age} where id =#{id}</update><select id="getAllUser" resultType="com.laotou99.domain.User">select * from users</select></mapper>











0 0
原创粉丝点击