Mybatis实现jdbc的增删改查方法

Mybatis实现jdbc的增删改查方法

我们可以分为以下几个步骤来实现:

1、       编写实体类

2、       配置实体类

3、       配置mybatis的xml文件

4、       编写接口

5、       实现测试类

需要的jar包:

1、       mybatis-3.2.3.jar

2、       mysql-connector-java-5.1.25-bin.jar

第一步:

我们需要来编写一个实体类,实体类也是一个javaBean,但是这个javaBean有点特殊,它里面的属性必须是我们数据库中数据表的字段对应的,并且它的名字也必须是表名。

代码如下:

package com.huweiyang.model;

 

publicclassUser {

   /**

    * 配置实体类   要与数据库中的字段对应

    */

   publicintid;

   public String name;

   publicintage;

   publicint getId() {

     returnid;

   }

   publicvoid setId(intid) {

     this.id = id;

   }

   public String getName() {

     returnname;

   }

   publicvoid setName(String name) {

     this.name = name;

   }

   publicint getAge() {

     returnage;

   }

   publicvoid setAge(intage) {

     this.age = age;

  

}

第二步:

我们写好了实体类,现在要来配置这个实体类,在这个实体类中我们配置的主要是:

接口的路径

值得注意的是这个xml文件的名字,也要必须是与我们的实体类同名(不区分大小写)

Sql语句

代码如下:

<?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTDMapper 3.0//EN" "mybatis-3-mapper.dtd">

<!-- 配置接口路径 -->

<mapper namespace="com.huweiyang.IDao.IUser">

<!--    配置添加方法 -->

   <insert id="insertUser" parameterType="User">

     insertinto user(id,name,age) values(#{id},#{name},#{age});

   </insert>

<!--      配置删除方法 -->

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

     deletefrom user where id = #{id};

   </delete>

<!--    配置更改方法 -->

   <update id="updateUser" parameterType="User">

     updateuser set name=#{name} where id = #{id};

   </update>

<!--      配置查看方法 -->

   <select id="selectUser" resultType="User">

     select* from user;

   </select>

</mapper>

第三步:

现在我们要来配置mybactis的xml文件,主要配置的是实体类的路径,jdbc的连接,实体类配置的路径

代码如下:

<?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTDconfig 3.0//EN" "mybatis-3-config.dtd">

<configuration>

   <typeAliases>

     <typeAlias type="com.huweiyang.model.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://127.0.0.1:3306/mybaits"/>

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

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

        </dataSource>

     </environment>

   </environments>

   <mappers>

     <mapper resource="com/huweiyang/model/user.xml"/>

   </mappers>

</configuration>

第四步:

现在我们要来编写我们的接口了,mybactis是持久层框架肯定是少不了接口的,在接口中我们编写配置实体类中对应的sql语句的方法,但是我们接口中的方法名必须是与实体类配置的id对应

代码如下:

package com.huweiyang.IDao;

 

import java.util.List;

 

import com.huweiyang.model.User;

 

public interface IUser {

// 接口中的添加方法

   publicvoid insertUser(User user);

// 接口中的删除方法

   publicvoid deleteUser(int id);

// 接口中的更改方法

   publicvoid updateUser(User user);

// 接口中的查看方法

   publicList<User> selectUser();

}

第五步:

我们的准备工作OK了现在我们要了测试我们编写的程序是否有用,我们首先要获取sqlsession的对象来方便我们执行程序,在这里我们还可以用java中封装的思想来封装不同的方法,对应不同的功能实现。

代码如下:

package com.huweiyang.matin;

 

import java.io.IOException;

import java.io.Reader;

import java.util.List;

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSession;

importorg.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.huweiyang.IDao.IUser;

import com.huweiyang.model.User;

 

public class Mapping {

//      定义为全局的方便在其它方法中调用

          staticIUser iuser = null;

          staticSqlSession sqlsession = null;

         

  

   publicstatic void main(String[] args) throws IOException {

//   获取sqlsession对象

     Readerres = Resources.getResourceAsReader("config.xml");

     SqlSessionFactorysqlsessionFactory = new SqlSessionFactoryBuilder().build(res);

      sqlsession = sqlsessionFactory.openSession();

      iuser = sqlsession.getMapper(IUser.class);

//   调用封装的查看方法

      Mapping sr = new Mapping();

      sr.select(iuser.selectUser());

   }

  

   /**

    * 封装添加方法

    */

   publicvoid insert(){

//   实例User对象并调用他们的set方法

     Useruser = new User();

     user.setId(4);

     user.setName("d");

     user.setAge(19);

//   调用接口中的方法

     iuser.insertUser(user);

//   提交数据库

     sqlsession.commit();

    

   }

  

   /*

    * 封装删除的方法

    */

   publicvoid delete(){

//   实例User对象并调用他们的set方法

     Useruser = new User();

     user.setId(3);

//   调用接口中的删除方法

     iuser.deleteUser(4);

//   提交

     sqlsession.commit();

   }

  

   /**

    * 封装更改方法

    */

   publicvoid update(){

//   实例User对象并调用他们的set方法

     Useruser = new User();

     user.setName("tt");

     user.setId(1);

//   调用接口中的更改方法

     iuser.updateUser(user);

//   提交

     sqlsession.commit();

   }

   /*

    * 封装查看方法

    */

  

   publicvoid select(List<User> getuser){

//   用for循环读取出数据库中的记录

     for(Useruser : getuser){

        System.out.println("id:"+user.getId());

        System.out.println("name:"+user.getName());

        System.out.println("age:"+user.getAge());

     }

    

   }

}

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值