Mybatis实现增删改查

目录
  • 一.mybatis的配置
    • 1.1 添加相应的jar包
    • 1.2 配置mybatis.xml文件
    • 1.3 创建数据库
    • 1.4 创建实体类
    • 1.5 创建接口实现的方法
    • 1.6 配置UserMapper.xml 文件
    • 1.7 创建MybatisUtils的方法
  • 二、Mybatis的增删改查
    • 2.1 添加
    • 2.2 修改
    • 2.3 查询
    • 2.4 删除

Mybatis实现增删改查

一.mybatis的配置

1.1 添加相应的jar包

在lib文件夹下面添加mybatis的核心jar包以及依赖的jar包
同在lib文件夹下面加入mysql的驱动jar包

1.2 配置mybatis.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>
  <!-- 配置 properties文件-->
  <properties resource="db.properties"></properties>

    <settings>
        <!-- 配置日志的输出形式 -->
        <setting name="logImpl" value="LOG4J" />
    </settings>
    <!-- 配置数据库的连接 默认使用哪一个数据库连接 -->
    <environments default="mysql">
        <!-- 配置mysql -->
        <environment id="mysql">
            <!-- 事务管理 使用JDBC -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- type 连接属性
             UNPOOLED-这个类型的数据源实现只是在每次需要的时候简单地打开和关闭连接。
             POOLED-这个数据源的实现缓存了JDBC 连接对象,用于避免每次创建新的数据库连接时都初始 化和进行认证,加快程序响应。并发WEB应用通常通过这种做法来获得快速响应。
            NDI- 这个数据源的配置是为了准备与像gpring或应用服务器能够在外部或者内部配置数据 源的容器一起使用,然后在NDI 上下文中引用它 -->
            <dataSource type="POOLED">
                <property name="driver" value="${diver}" />
                <property name="url" value="${url}" />
                <property name="username" value="${username}" />
                <property name="password" value="${password}" />
            </dataSource>
        </environment>
    </environments>

    <!-- 配置映射 -->
    <mappers>
        <mapper resource="com/sxt/mapping/UserMapper.xml" />
    </mappers>
</configuration>

1.3 创建数据库

注意:在设计数据库时,id的类型为int并且设置为主键。自动递增。

1.4 创建实体类

package com.sxt.domain;

public class User {
    private Integer  id;
    private String  name;
    private String  address;
    private String  sex;
    
    public User(){

    }
    //插入
    public User(String name, String address, String sex) {
        super();
        this.name = name;
        this.address = address;
        this.sex = sex;
    }
    //查询
    public User(Integer id, String name, String address, String sex) {
        super();
        this.id = id;
        this.name = name;
        this.address = address;
        this.sex = sex;
    }

    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", address=" + address + ", sex=" + sex + "]";
    }
    
    
}

1.5 创建接口实现的方法

package com.sxt.mapper;

import com.sxt.domain.User;

import java.util.List;

public interface UserMapper {
   public void add(User user);
   public void update(User user);
   public void delete(Integer id); //删除的构造方法
   public User queryById(Integer id);//查询的构造方法
   public List<User> queryAll();
   public List<User> queryLike(User user); //模糊查询
}

1.6 配置UserMapper.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入头文件 -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.sxt.mapper.UserMapper">  <!-- namespace一般与Mapper接口的限定名一致 -->
    <!--添加 
    id对应接口里面的方法名
    parameterType参数类型
     -->
    <insert id="add" parameterType="com.sxt.domain.User">
     insert into user (name,address,sex) values(#{name},#{address},#{sex})
    </insert>
    <!-- 修改 -->
    <update id="update" parameterType="com.sxt.domain.User">
      update user set name=#{name},address=#{address},sex=#{sex} where id=#{id}
    </update>
    <!-- 删除 -->
    <delete id="delete" parameterType="java.lang.Integer">
       delete form user where id=#{value}
    </delete>
    <!--查询一个  
    resultType返回值的类型
    -->
    <select id="queryById" parameterType="java.lang.Integer" resultType="com.sxt.domain.User">
     select * from user where id=#{value}
    </select>
    <!-- 全查询 -->
    <select id="queryLike" resultType="com.sxt.domain.User">
     <!--  select * from user where name like #{name} -->
     select * from user where name like "%"#{name}"%"
    </select>
    <!-- 模糊查询 -->
</mapper>

1.7 创建MybatisUtils的方法

package com.sxt.utils;

import java.io.InputStream;

import javax.websocket.Session;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MybatisUtils {
    static InputStream is=MybatisUtils.class.getResourceAsStream("/mybatis.xml");
    //得到SqlSessionFactory
    static SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
    //得到session
   public static SqlSession openSession() {
       return factory.openSession();
   }
   //关闭session
   public static void closeSession(SqlSession session) {
       //提交
       session.commit();
       //关闭
       session.close();
       
   }
}

二、Mybatis的增删改查

2.1 添加

package com.sxt.text;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import com.sxt.domain.User;
import com.sxt.mapper.UserMapper;
import com.sxt.utils.MybatisUtils;

public class mybatisTest {
    public static void main(String[] args) {
        SqlSession session=MybatisUtils.openSession();
        UserMapper userMapper=session.getMapper(UserMapper.class);
        // TODO Auto-generated method stub
         User user=new User("小花", "武汉", "男");
         userMapper.add(user);
         System.out.println("chen");
         MybatisUtils.closeSession(session);
    }

2.2 修改

package com.sxt.text;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import com.sxt.domain.User;
import com.sxt.mapper.UserMapper;
import com.sxt.utils.MybatisUtils;

public class mybatisTest {
//    SqlSession session=MybatisUtils.openSession();
//    UserMapper userMapper=session.getMapper(UserMapper.class);
//  @Test
//    public void initData(){
    public static void main(String[] args) {
        SqlSession session=MybatisUtils.openSession();
        UserMapper userMapper=session.getMapper(UserMapper.class);
        // TODO Auto-generated method stub
//         User user=new User("小明", "武汉", "男");
        User user=new User(2,"小花","河北","女");
         userMapper.update(user);
         MybatisUtils.closeSession(session);
    }

2.3 查询

package com.sxt.text;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import com.sxt.domain.User;
import com.sxt.mapper.UserMapper;
import com.sxt.utils.MybatisUtils;

public class mybatisTest {
//    SqlSession session=MybatisUtils.openSession();
//    UserMapper userMapper=session.getMapper(UserMapper.class);
//  @Test
//    public void initData(){
    public static void main(String[] args) {
        SqlSession session=MybatisUtils.openSession();
        UserMapper userMapper=session.getMapper(UserMapper.class);
        // TODO Auto-generated method stub
//         User user=new User("小明", "武汉", "男");
        //User user=new User(2,"小花","河北","女");
         List<User> list=userMapper.queryAll();
         System.out.println(list);
         MybatisUtils.closeSession(session);
    }

2.4 删除

package com.sxt.text;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import com.sxt.domain.User;
import com.sxt.mapper.UserMapper;
import com.sxt.utils.MybatisUtils;

public class mybatisTest {
//    SqlSession session=MybatisUtils.openSession();
//    UserMapper userMapper=session.getMapper(UserMapper.class);
//  @Test
//    public void initData(){
    public static void main(String[] args) {
        SqlSession session=MybatisUtils.openSession();
        UserMapper userMapper=session.getMapper(UserMapper.class);
        // TODO Auto-generated method stub
//         User user=new User("小明", "武汉", "男");
        //User user=new User(2,"小花","河北","女");
        // List<User> list=userMapper.queryAll();
         //System.out.println(list);
        userMapper.delete(3);
         MybatisUtils.closeSession(session);
    }

到此这篇关于Mybatis实现增删改查的文章就介绍到这了,更多相关Mybatis增删改查内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Mybatis Plus 增删改查的实现(小白教程)

    目录 前言 什么是 mybatis-plus? 快速开始 准备环境: 准备数据表 IDEA中配置 maven 创建 spring boot 应用 创建mapper接口 添加@MapperScan 扫描 Mapper 文件夹 配置 mybatis 日志 CRUD 基本用法 insert 操作 update 操作 delete 操作 select 操作 前言 在持久层框架中 mybatis 应用比较多,而且比重在逐渐的上升.通常项目的组合是 SSM.mybatis 之所以火,是因为他的灵活,使用方便

  • mybatis之增删改查

    目录 jar包需要三个 连接数据库的以及mybatis的jar包 下面创建数据库 复制到一個文档里面导入数据库即可 mybatisUtils文件 mybatis.xml配置文件 ParkingMapp接口 ParkingMapper.xml文件为增删改查sql語句 model类ParkingInfo 最后就是测试类了: 总结 jar包需要三个 连接数据库的以及mybatis的jar包 下面创建数据库 复制到一個文档里面导入数据库即可 /* Navicat MySQL Data Transfer

  • mybatis抽取基类BaseMapper增删改查的实现

    目录 准备工作: 1:数据库表 2:准备实体类 步骤1:编写工具类Tools:作用:用于驼峰和数据库字段的转换 步骤2:自定义两个注解,分别用于类字段的排除和字义主键 步骤3:自定义动态sql生成类BaseSqlProvider<T> 步骤4:编写BaseMapper基类接口 举例: 目前项目当中使用mapper.xml文件方式对数据库进行操作,但是每个里边都有增/删/改/查,为了方便开发,把这些公共的代码提取出来,不用当做基类,不用每个Mapper文件都写了 准备工作: 1:数据库表 CRE

  • Mybatis实现增删改查及分页查询的方法

    MyBatis的前身就是iBatis.是一个数据持久层(ORM)框架. MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持 久层框架.MyBatis消除了几乎所有的JDBC 代码和参数的手工 设置以及结果集的检索.MyBatis使用简单的XML或注解用于 配置和原始映射,将接口和Java 的POJOs(Plan Old Java Objects,普通的Java 对象)映射成数据库中的记录.每个 MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个 SqlS

  • mybatis实现增删改查_动力节点Java学院整理

    所需要用到的其他工具或技术: 项目管理工具 : Maven 测试运行工具 : Junit 数据库 : Derby Maven Dependencies: <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.7</version> </dependen

  • Mybatis实现增删改查(CRUD)实例代码

    MyBatis简介 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索.MyBatis 可以使用简单的XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. MyBatis下载:https://github.com/mybatis/mybatis-3/releases Mybatis实

  • Mybatis注解增删改查的实例代码

    要点 有另一种方法来完成语句映射. 它们映射的语句可以不用 XML 来配置,而可以使用 Java 注解来配置. 使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪. 如果你需要做一些很复杂的操作,最好用 XML 来映射语句. 需要在config.xml中注册Java接口 <mappers> <mapper class="com.mybatis.DAO.PeopleMapper"

  • Mybatis实现增删改查

    目录 一.mybatis的配置 1.1 添加相应的jar包 1.2 配置mybatis.xml文件 1.3 创建数据库 1.4 创建实体类 1.5 创建接口实现的方法 1.6 配置UserMapper.xml 文件 1.7 创建MybatisUtils的方法 二.Mybatis的增删改查 2.1 添加 2.2 修改 2.3 查询 2.4 删除 Mybatis实现增删改查 一.mybatis的配置 1.1 添加相应的jar包 在lib文件夹下面添加mybatis的核心jar包以及依赖的jar包同在

  • MyBatis存储过程、MyBatis分页、MyBatis一对多增删改查操作

    一.用到的实体类如下: Student.java package com.company.entity; import java.io.Serializable; import java.util.Date; public class Student implements Serializable{ private static final long serialVersionUID = 1L; private int id; private String name; private Date

  • MyBatis入门之增删改查+数据库字段和实体字段不一致问题处理方法

    当数据库字段和实体bean中属性不一致时 之前数据库Person名字字段是name,PersonBean中属性也是name,但是之后数据库中修改为了user_name, 方法1:通过sql语句的字段起别名,别名和实体中的对象属性一致 SELECT id,user_name as name,sex,age from person <select id="find" resultType="com.luogg.domain.Person"> SELECT i

随机推荐