Mybatis+Spring配置流程

1.mybatis简介

mybatis是一个开源的持久层框架,底层使用jdbc实现,为了简化jdbc操作,只需要只需要规划ql语句,以及设计并实现接口。

 

2.具体流程

 

2.1创建Maven项目

  • 点击创建maven项目,填写groupid与Artifactid,packageing选择war
  • 添加tomcat服务器至项目中,右键项目->properties->targeted runtimes    生成部署描述文件web.xml
  • pom.xml中添加与mybatis有关的5个依赖 (mybatis,spring,jdbc,dbcp等)

 

2.2配置文件

  • 将spring文件添加至resource路径
  • 配置数据库连接文件db.properties至resource路径
  • 启动项目通过junit测试数据库连接

public class Tests {

    BasicDataSource ds;
    MapperScannerConfigurer msc;
    SqlSessionFactoryBean ssfb;
    
    private ClassPathXmlApplicationContext ac;
    private UserMapper userMapper;
    
    @Test
    public void getConnection() throws SQLException {
        BasicDataSource ds = ac.getBean("dataSource", BasicDataSource.class);
        
        Connection conn = ds.getConnection();
        
        System.out.println(conn);
    }
    
    @Before
    public void doBefore() {
        ac = new ClassPathXmlApplicationContext(
                "spring.xml");
        
        userMapper = ac.getBean("userMapper", UserMapper.class);
    }
    
    @After
    public void doAfter() {
        ac.close();
    }

 2.3添加基本元素

  • 创建实体类user(属性与表字段对应)

public class User {
    private Integer id;
    private String username;
    private String password;
    private Integer age;
    private String phone;
    private String email;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    
    


}
 

  • 添加对user操作的接口UserMapper(设计抽象方法满足不能重载,如果对数据修改返回受影响的行数)

public interface UserMapper {
    Integer insert(User user);
}

  • 配置一次UserMapper.xml文件,每次添加对应的sql语句,并添加至resource

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"      
    "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">

<!-- namespace:当前XML文件用于配置哪个接口中抽象方法对应的SQL语句 -->
<mapper namespace="com.mybatis.UserMapper">

    <!-- resultMap节点:指导MyBatis如何封装查询结果 -->
    <!-- id:自定义名称 -->
    <!-- column:查询结果中的列名 -->
    <!-- property:type对应的类中的属性名 -->
    <resultMap id="UserEntityMap"
         type="cn.tedu.mybatis.User">
        <result column="id" property="id" />
        <result column="username" property="username" />
        <result column="password" property="password" />
        <result column="age" property="age" />
        <result column="phone" property="phone" />
        <result column="email" property="email" />
        <result column="is_delete" property="isDelete" />
    </resultMap>

    <!-- 使用insert节点配置插入数据的SQL语句 -->
    <!-- id:抽象方法的方法名 -->
    <!-- 在#{}中间的是方法的参数User类中的属性名称 -->
    <insert id="insert"
        parameterType="cn.tedu.mybatis.User"
        useGeneratedKeys="true"
        keyProperty="id">
        INSERT INTO mybatis_user(
            username, password,
            age, phone,
            email
        ) VALUES (
            #{username}, #{password},
            #{age}, #{phone},
            #{email}
        )
    </insert>

</mapper>

  • junit测试插入数据操作

@Test
    public void insert() {
        User user = new User();
        user.setUsername("mybatis2");
        user.setPassword("12345");
        System.out.println("执行前:" + user);
        Integer rows = userMapper.insert(user);
        System.out.println("rows=" + rows);
        System.out.println("执行后:" + user);
    } 

  •  查询数据库验证插入成功

2.4要注意的点

配置spring.xml有关mybatis部分涉及内容较多,其中一定包括:

数据源的配置文件,接口,xml文件

读取db.properties,配置数据源并指定数据源,配置MapperScannerConfigurerz来指定接口,SqlSessionFactoryBean指定xml文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值