使用注解的单表的CRUD操作
1.pom.xml 导入坐标
代码语言:javascript复制<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>Anno</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies>
2.编写pojo类
代码语言:javascript复制private Integer id;
private String username;
private String address;
private String sex;
3.编写主配置文件
代码语言:javascript复制<?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">
<!-- mybatis的主配置文件 -->
<configuration>
<!--引入外部文件-->
<!--引入数据库配置文件-->
<properties resource="jdbcConfig.properties"></properties>
<typeAliases>
<!--配置别名-->
<package name="com.rpf.domain"></package>
</typeAliases>
<!--配置环境-->
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!--指定带有注解的dao接口所在位置-->
<mappers>
<package name="com.rpf.dao"></package>
</mappers>
</configuration>
4.编写dao接口
代码语言:javascript复制package com.rpf.dao;
import com.rpf.domain.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
* 这是一个新建的类
* 在Mybatis中针对CRUD有四个注解
* 配置注解即不用写dao映射文件
* @Select @Insert @Update @Delete
*/
public interface IUserDao {
/**
* 查询所有用户
* @return
*/
@Select("select * from user")//配置查询操作的注解
List<User> findAll();
/**
* 保存操作
* @param user
*/
@Insert("insert into user(username,address,sex) values(#{username},#{address},#{sex})")
void saveUser(User user);
/**
* 更新用户
* @param user
*/
@Update("update user set username=#{username},address=#{address},sex=#{sex} where id=#{id}")
void updateUser(User user);
/**
* 删除用户
* @param userId
*/
@Delete("delete from user where id=#{id}")
void deleteUser(Integer userId);
/**
* 查询一个
* @param userId
*/
@Select("select * from user where id=#{id}")
User findById(Integer userId);
/**
* 根据名称查询 模糊查询
*/
@Select("select * from user where username like #{username}")
//第二种写法@Select("select * from user where username like '%${value}%' ")
List<User> findByName(String userName);
}