使用Mabatis注解开发

本文详细介绍了如何在项目中整合MyBatis框架,包括导入依赖、配置数据库连接、创建实体类、DAO接口及注解方式的增删改查操作,并提供了测试代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建项目

第一步
导入pom依赖
一个是mysqljar包依赖 一个是Mabatis依赖

      <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>3.4.3</version>
      </dependency>
      <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
      <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>5.1.43</version>
      </dependency>

第二步
创建Mabatis的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>

    **<typeAliases>
        <package name="你的实体类   比如com.ssh.entity "></package>
    </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/ct?characterEncoding=utf-8"/>
                <property name="username" value="root"/>
                <property name="password" value="tiger"/>
                //这是你连接数据库的包          连接数据库的表  密码   确保一样  这里连接的是mysql
            </dataSource>
        </environment>
    </environments>
    <mappers>
      <mapper class="com.ch.mapper.UsersMapper"></mapper>
      //每写一次dao方法 在这里多加一个mapper  后面是你的dao方法的位置 
    </mappers>
</configuration>

注意点:

第三步
创建 model 就是之前的entity包
这里是我自己的数据库的实体类

package com.ch.model;

public class Users {
    private int uid;
    private String uname;
    private String  usex;
    private String birthday;
    private String  address;
//写完    实体类的属性   记得封装属性

    public Users(int uid, String uname, String usex, String birthday, String address) {
        this.uid = uid;
        this.uname = uname;
        this.usex = usex;
        this.birthday = birthday;
        this.address = address;
    }
    public Users(String uname, String usex, String birthday, String address) {
        this.uname = uname;
        this.usex = usex;
        this.birthday = birthday;
        this.address = address;
    }
    public Users() {
    }
    public int getUid() {
        return uid;
    }
    public void setUid(int uid) {
        this.uid = uid;
    }
    public String getUname() {
        return uname;
    }
    public void setUname(String uname) {
        this.uname = uname;
    }
    public String getUsex() {
        return usex;
    }
    public void setUsex(String usex) {
        this.usex = usex;
    }
    public String getBirthday() {
        return birthday;
    }
    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
}

第四步
创建dao包dao类

我的mapper就是dao类 model就是实体类

在这里插入图片描述
这里的UsersMapper就是dao方法

使用注解方式增删改查

public interface UsersMapper {
    //查询全部
    @Select("select * from Users")
      public List<Users> findAllUsers();
    //单个查询
    @Select("select * from Users where uid=#{uid}")
    public  Users  findUserByuid(int uid);
    //新增
    @Insert("insert into Users (uname,usex,birthday,address) value (#{uname},#{usex},#{birthday},#{address})")
    public void addUser(Users users);
    //删除
    @Delete("delete from users where uid=#{uid}")
    public void deleUserByid(int uid);
    //修改
    @Update("update users set uname=#{uname} where uid=#{uid}")
    public  void updateUserByid(Users users);

第五步
测试结果
在这里插入图片描述

代码

package com.ch.test;

import com.ch.mapper.AuthorMapper;
import com.ch.mapper.PersonMapper;
import com.ch.mapper.StudentMapper;
import com.ch.mapper.UsersMapper;
import com.ch.model.*;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.util.List;

public class TestUsers {

    private SqlSessionFactory sqlSessionFactory;
    private SqlSession sqlSession;

    @Before
    public  void before(){
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(this.getClass().getClassLoader().getResourceAsStream("mybatis-config.xml"));
        sqlSession = sqlSessionFactory.openSession();
    }

    @Test
    public void test(){
//        UsersMapper usersMapper=sqlSession.getMapper(UsersMapper.class);
        //查询全部
//         List<Users> list=usersMapper.findAllUsers();
//        for (Users users : list) {
//            System.out.println(users.getUname());
//        }
        //查询单个
//        Users users=usersMapper.findUserByuid(1);
//        System.out.println(users.getUname());

        //新增对象
//        Users users=new Users("彭于晏","男","2001-09-09","长沙");
//        usersMapper.addUser(users);

        //删除对象
//        usersMapper.deleUserByid(2);

        //修改对象
//          Users  users=new Users();
//          users.setUid(1);
//          users.setUname("胡歌");
//          usersMapper.updateUserByid(users);

 
    }

    @After
    public void after(){
        sqlSession.commit();
    }
}

@实体类一定要和数据库一样

查询全部

  • 如果查询到了 获取到了 表示注解开发ok 注意方法的调用 参数和数据库的变动 记得after 提交 关闭 session 否则 新增 他不会加载到数据库里面

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值