Mybatis删除功能

User.java  存储用户的信息
User.xml   配置查询用户的sql语句
SqlMapConfig.xml    加载配置文件,
MybatisFirst.java   数据库操作文件


MybatisFirst.java
public class MybatisFirst {
    //根据id删除用户信息
    @Test
    public void deleteUserTest() throws IOException{
        //MyBatis配置文件
        String resource = "SqlMapConfig.xml";
        //得到配置文件流
        InputStream inputStream = Resources.getResourceAsStream(resource);  
            
        //创建会话工厂,想build中传入配置文件信息
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //通过工厂得到SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //list中的User和映射文件中的resultType所指定的类型一致
        sqlSession.delete("test.deleteUser", 33);
        
        sqlSession.commit();
        sqlSession.close();
    }
}


User.java

public class User {
    private int id;
    private String username;//  用户姓名
    private String sex;// 性别
    private Date birthday;// 生日
    private String address;// 地址
    @Override
    public String toString() {
        return "User [id=" + id + ", username=" + username + ", sex=" + sex
                + ", birthday=" + birthday + ", address=" + address + "]";
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    
}


User.xml

<?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="test">
    <delete id="deleteUser" parameterType="java.lang.Integer">
        delete from user where id=#{id}
    </delete>
</mapper>


SqlMapConfig.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>
    <!-- 和spring整合后 environments配置将废除-->
    <environments default="development">
        <environment id="development">
        <!-- 使用jdbc事务管理-->
            <transactionManager type="JDBC" />
        <!-- 数据库连接池-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" />
                <property name="username" value="root" />
                <property name="password" value="123" />
            </dataSource>
        </environment>
    </environments>
    <!-- 加载映射文件 -->
    <mappers>
        <mapper resource="sqlmap/User.xml"/>
    </mappers>
    
</configuration>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在MyBatis中使用Spring框架的事务管理器进行删除操作,可以按照以下步骤进行: 1. 在Spring配置文件中配置数据源和事务管理器。 2. 在MyBatis的Mapper文件中编写delete语句。 3. 在Spring配置文件中配置MapperScannerConfigurer,扫描Mapper接口并自动注入到Spring容器中。 4. 在Service层中调用Mapper接口的delete方法,加上@Transactional注解,表示这是一个事务操作。 下面是一个示例代码: 1. 在Spring配置文件中配置数据源和事务管理器 ```xml <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="root"/> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> ``` 2. 在MyBatis的Mapper文件中编写delete语句 ```xml <delete id="deleteUserById" parameterType="int"> delete from user where id=#{id} </delete> ``` 3. 在Spring配置文件中配置MapperScannerConfigurer ```xml <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.example.dao"/> </bean> ``` 4. 在Service层中调用Mapper接口的delete方法,加上@Transactional注解 ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override @Transactional public void deleteUserById(int id) { userMapper.deleteUserById(id); } } ``` 注意:@Transactional注解必须要在Service层的方法上加,而不能在Mapper接口的方法上加。如果在Mapper接口的方法上加@Transactional注解,事务不会起作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值