SSM整合——4. 编写mybatis框架

mysql中建表

CREATE DATABASE ssm;
USE ssm;
CREATE TABLE account(
		id INT PRIMARY KEY AUTO_INCREMENT,
		NAME VARCHAR(20),
		money DOUBLE
);

1. AccountDao 接口(dao目录下)

给AccountDao接口加上注解完成sql语句

public interface AccountDao {

    // 查询所有账户
    @Select("select * from account")
    public List<Account> findAll();

    // 保存帐户信息
    @Insert("insert into account (name,money) values (#{name}%,#{money}%)")
    public void saveAccount(Account account);

}

2. SqlMapConfig.xml

在 resources 目录下创建 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>
    <!--配置环境-->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url"
                          value="jdbc:mysql://172.20.10.13:3306/ssm?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="11250825"/>
            </dataSource>
        </environment>
    </environments>

    <!--引入映射配置文件-->
    <mappers>

        <!--resource的格式如下,所以这里不能用resource-->
        <!--<mapper resource="cn/itcast/dao/xxx.xml"></mapper>-->

        <!--可以用class如下所示,但这样引入新的UserDao需要重新添加,比较麻烦-->
        <!--<mapper class="cn.itcast.dao.AccountDao"></mapper>-->
        <!--<mapper class="cn.itcast.dao.UserDao"></mapper>-->

        <package name="cn.itcast.dao"/>
    </mappers>
</configuration>

3. TestMybatis(test目录下)

public class TestMybatis {
    //测试查询
    @Test
    public void run1() throws Exception {
        //加载mybatis的配置文件
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");

        //创建SqlSessionFactory对象
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);

        //创建SqlSession对象
        SqlSession session = factory.openSession();

        //获取代理对象
        AccountDao dao = session.getMapper(AccountDao.class);

        //查询所有数据
        List<Account> list = dao.findAll();

        for (Account account : list) {
            System.out.println(account);
        }

        //关闭资源
        session.close();
        in.close();
    }

    //测试保存
    @Test
    public void run2() throws Exception {
        //加载mybatis的配置文件
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");

        //创建SqlSessionFactory对象
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);

        //创建SqlSession对象
        SqlSession session = factory.openSession();

        //获取代理对象
        AccountDao dao = session.getMapper(AccountDao.class);

        //保存数据
        Account account = new Account();
        account.setName("熊大");
        account.setMoney(400d);

        //保存
        dao.saveAccount(account);

        //提交事务
        session.commit();

        //关闭资源
        session.close();
        in.close();
    }
}

猜你喜欢

转载自blog.csdn.net/dl674756321/article/details/90772075