首页 > 编程语言 >java——mybatis——Mybatis的CRUD——模糊查询操作(2)

java——mybatis——Mybatis的CRUD——模糊查询操作(2)

时间:2022-11-27 17:25:24浏览次数:41  
标签:java name age CRUD public Mybatis import config id

在第一个xml示例项目的基础上,进行操作:

 

mybatis-config.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>
    <!-- 配置mybatis运行环境 -->
    <environments default="development">
        <environment id="development">
            <!-- 使用JDBC的事务管理 -->
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <!-- MySQL数据库驱动 -->
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <!-- 连接数据库的URL -->
                <property name="url" value="jdbc:mysql://localhost:3306/mysql8?characterEncoding=utf8" />
                <property name="username" value="root" />
                <property name="password" value="123456" />
            </dataSource>
        </environment>
    </environments>
    <!-- 将mapper文件加入到配置文件中 -->
    <mappers>
        <mapper resource="com/sunxl/dao/UserDao.xml"/>
    </mappers>
</configuration>

 

 

 

 

 

 

 

 

 

 

POJO类保持不变:

package com.sunxl.pojo;

public class User {

    Integer id;
    String name;
    Integer age;

    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 Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Users{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

增加一个DAO接口:

package com.sunxl.dao;

import com.sunxl.pojo.User;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface UserDao {

    List<User> findAll();

    int saveUser(User user);


    int updateUser(User user);


    int deleteUser(Integer id);


    User findById(Integer id);


    List<User> findByName(String name);

}

 

 

 

 

 

 

 

 

 

 

 

 

 

修改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.sunxl.dao.UserDao">
    <!-- 查询所有网站信息 -->
    <select id="findAll" resultType="com.sunxl.pojo.User">
        select * from USERs
    </select>

    <insert id="saveUser" parameterType="com.sunxl.pojo.User">
            insert into users(id,name,age) values(#{id},#{name},#{age})
    </insert>

    <update id="updateUser" parameterType="com.sunxl.pojo.User">
            update users set name = #{name},age = #{age} where id = #{id}
    </update>

    <delete id="deleteUser" parameterType="java.lang.Integer">
            delete from users where id = #{id}
    </delete>

    <select id="findById" parameterType="java.lang.Integer" resultType="com.sunxl.pojo.User">
        select * from USERs where id = #{id}
    </select>

    <select id="findByName" parameterType="java.lang.String" resultType="com.sunxl.pojo.User">
        select * from USERs where name like '%${value}%';
    </select>

</mapper>

 

 

 

 

 

 

 

 

 

执行操作:

import com.sunxl.dao.UserDao;
import com.sunxl.pojo.User;
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 java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class MybatisTest {

    public static void main(String[] args) throws IOException {

//        InputStream config = Resources.getResourceAsStream("mybatis-config.xml");
//
//        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//
//        SqlSessionFactory factory = builder.build(config);
//
//        SqlSession ss = factory.openSession();
//
//        UserDao userdao = ss.getMapper(UserDao.class);
//
//        List<User> users = userdao.findAll();
//
//        for (User user: users){
//            System.out.println(user);
//        }
//
//        ss.commit();
//
//        //4. 释放资源
//        ss.close();
//
//        config.close();

        InputStream config = Resources.getResourceAsStream("mybatis-config.xml");

        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();

        SqlSessionFactory factory = builder.build(config);

        SqlSession ss = factory.openSession();

        UserDao userdao = ss.getMapper(UserDao.class);

        List<User> users = userdao.findByName("abc");

        for (User user: users){
            System.out.println(user);
        }

        ss.commit();

        //4. 释放资源
        ss.close();

        config.close();

    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

结果验证:

 

标签:java,name,age,CRUD,public,Mybatis,import,config,id
From: https://www.cnblogs.com/xiaobaibailongma/p/16930129.html

相关文章

  • Solon v1.11.0 发布,Hello Java
    一个更现代感的Java应用开发框架:更快、更小、更自由。没有Spring,没有Servlet,没有JavaEE;独立的轻量生态。主框架仅0.1MB。@ControllerpublicclassApp{publ......
  • java——mybatis——Mybatis的CRUD——模糊查询操作(1)
    在第一个xml示例项目的基础上,进行操作: mybatis-config.xml配置文件:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDC......
  • #MyBatis和MyBatis Plus学习之旅(200-11-27)
    Mybatis和MybatisPlus的jar包/maven文件Mybatis的jar包/maven文件1、jar包: ​​mybatis-x.x.x.jar​​ 2、maven文件:<!--spring的maven文件--><!--mybatis包--><dependen......
  • java——mybatis——Mybatis的CRUD——查询单个数据操作
    在第一个xml示例项目的基础上,进行操作: mybatis-config.xml配置文件:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDC......
  • javaScriptna那些事儿
    javaScriptna那些事儿作用域JS的作用域简单来说就是变量(变量作用于又称上下文)和函数生效(能被访问)的区域###1.全局作用域函数之外声明的变量,会成为全局变量。变量......
  • Java设计模式之 单例模式实验报告书
    目录Java​​​设计模式​​​之1​​​单例模式​​​实验报告书1*实验四:单例模式2一、实验目的2二、实验内容3三、实验步骤3Appconfige.java4Client.java43......
  • Java设计模式之 单例模式实验报告书
    目录Java​​​设计模式​​​之1​​​单例模式​​​实验报告书1*实验四:单例模式2一、实验目的2二、实验内容3三、实验步骤3Appconfige.java4Client.java43......
  • 40.Java继承案例:各类水果的价格
    水果是​​超类​​,而对应的苹果、橙子等为子类,子类通常继承超类的特性,然后具有独有的属性对价格进行优惠。1、Fruit类,超类定义属性​​​private​​​私有---》构造方法......
  • 第4章-Spring基于Java配置的容器
    目录一、Bean管理1.元数据2.Full模式和Lite模式3.组合配置4.扫描类路径配置二、依赖管理1.依赖注入1.1参数注入1.2方法注入2.依赖关系3.懒加载三、附录1.常......
  • java——mybatis——Mybatis的CRUD——保存操作
    在第一个xml示例项目的基础上,进行操作:mybatis-config.xml文件:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3......