开发一个mybatis的简单增删查改应用

 

1、  导入mybatis所需要的jar包mtbatis-3.0.1.jar和mysql的jar包

2、  在src目录下建立一个配置文件SqlMapConfig.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 type="org.leadfar.Person" alias="Person"/>

   

    </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:3306/mybatis" />

              <property name="username" value="root" />

              <property name="password" value="root" />

           </dataSource>

       </environment>

    </environments>

    <!-- 映射文件定位 -->

    <mappers>

       <mapper resource="org/leadfar/PersonMapper.xml" />

    </mappers>

</configuration>

3、创建一个实体类如下

 

 

package org.leadfar;

 

import java.util.Date;

 

public class Person {

       private int id;

       private String name;

       private int age;

       private Date birthday;

       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;

       }

       public Date getBirthday() {

              return birthday;

       }

       public void setBirthday(Date birthday) {

              this.birthday = birthday;

       }

}

3、  在实体类同一目录下创建一个实体类映射文件PersonMapper.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="org.leadfar.Person">

       <insert id="insert" parameterType="Person">

               insert into t_person(id,name,age,birthday) values(#{id},#{name},#{age},#{birthday})

       </insert>

       <delete id="delete" parameterType="int">

                     delete from t_person where id=#{id}

       </delete>

       <update id="update" parameterType="Person">

                     update t_person set name=#{name},age=#{age},birthday=#{birthday} where id=#{id}

      

       </update>      

      

      

       <select id="selectOne" parameterType="int" resultType="Person">

                     select * from t_person where id=#{id}

       </select>

      

      

</mapper>

 

 

 

最后写测试

 

 

package com.test;

 

import java.io.IOException;

import java.io.Reader;

import java.util.Date;

 

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 org.leadfar.Person;

 

import junit.framework.TestCase;

 

public class TestCRUD extends TestCase {

       SqlSessionFactory factory=null;

      

       public TestCRUD(){

             

              //读取主配置文件的读取器

              try {

                     Reader reader =Resources.getResourceAsReader("SqlMapConfig.xml");

                     //基于reader通过SqlSessionFactoryBuilder构建工厂

                     factory=new SqlSessionFactoryBuilder().build(reader);

                    

              } catch (IOException e) {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

              }

             

       }

       public void TestAdd(){

             

      

              //通过factory获得数据库连接会话

             

              SqlSession session=factory.openSession();

              //插入一个对象(Person)到数据库对应的表中(t_person)

              Person p=new Person();

             

              p.setName("张总");

              p.setAge(43);

              p.setBirthday(new Date());

              //将对象持久化到数据库中

              //需要通过PersonMapper中定义的sql语句完成一个映射过程

              try{

             

                     for(int i=0;i<20;i++){

                            p.setId(i);

                     session.insert(Person.class+".insert",p);

                     }

                     session.commit();

              }catch(Exception e){

                     session.rollback();

                     e.printStackTrace();

              }finally{

                     session.close();

              }

             

             

             

       }

      

      

public void TestDelete(){

             

      

             

              //通过factory获得数据库连接会话

             

              SqlSession session=factory.openSession();

      

      

              try{

             

                     session.delete(Person.class+".delete",3);

                     session.commit();

              }catch(Exception e){

                     session.rollback();

                     e.printStackTrace();

              }finally{

                     session.close();

              }

             

             

             

       }

      

      

 

 

public void TestUpdate(){

             

             

              //通过factory获得数据库连接会话

             

              SqlSession session=factory.openSession();

              Person p=new Person();

              p.setId(3);

              p.setName("修改后的张总");

              p.setAge(11);

              p.setBirthday(new Date());

      

              try{

             

                     session.update(Person.class+".update",p);

                     session.commit();

              }catch(Exception e){

                     session.rollback();

                     e.printStackTrace();

              }finally{

                     session.close();

              }

             

             

             

       }

 

 

 

 

 

 

public void TestFindById(){

             

              //通过factory获得数据库连接会话

             

              SqlSession session=factory.openSession();

      

      

              try{

                     Person person  =(Person)session.selectOne(Person.class+".selectOne",3);

                            System.out.println("查出来的Person==="+person.getName());

                           

                     session.commit();

              }catch(Exception e){

                     session.rollback();

                     e.printStackTrace();

              }finally{

                     session.close();

              }

             

             

             

       }

      

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值