Mybatis

作者: 末日携手的半阳 | 来源:发表于2018-03-19 19:25 被阅读4次

一、mybatis与MySQL的连接

①、在pom中导入相关的依赖

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.1</version>
        </dependency>

②、配置mybatis.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="development">
        <!--开发环境为开发模式,可以设置为test模式-->
        <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/springmvc"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <!--映射实体类的配置文件-->
    <mappers>
        <mapper resource="mapper/user.xml"/>
    </mappers>
</configuration>

③、编写实体类和dao层接口

 List<User> findAllUser();
     List<User> findUserAndRole();
     void addUser(User user);
     void deleteUser(User user);
     void updateUser(User user);

④、编写实体类的映射文件user.xml,此时的配置文件相当于dao层的实现类

<?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="com.xhy.dao.UserDao">
    <!--parametertype:输入数据的类型;#{name}:取user中name属性的值,保证属性名和实体类中名字一致-->
    <insert id="addUser" parameterType="com.xhy.pojo.User">
        insert into user(name) values(#{name})
    </insert>
    <delete id="deleteUser">
        delete from user where id=#{id}
    </delete>
    <update id="updateUser" parameterType="com.xhy.pojo.User">
        update user SET NAME =#{name},pwd=#{pwd} WHERE id=#{id};
    </update>
    <!--resultType:指定返回的数据类型,就是把查到的数据存入User类的对象中-->
    <select id="findAllUser" resultType="com.xhy.pojo.User">
        select * from user
    </select>
</mapper>

④、编写controller层

//    创建session工厂
    static SqlSessionFactory ssf;

    static {
        try {
            //读取文件并建立会话工厂
            InputStream is = Resources.getResourceAsStream("mybatis.xml");
            ssf = new SqlSessionFactoryBuilder().build(is);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //查询用户
    @Test
    public void findAllUser() {
        SqlSession ss = ssf.openSession();
        List<User> list = ss.selectList("com.xhy.dao.UserDao.findAllUser");
        for (User u : list) {
            System.out.println(u);
        }
        ss.close();
    }


    @Test
    public void test() {
        SqlSession ss = ssf.openSession();
        User u = new User();
        //添加用户
        u.setName("888");
        ss.insert("com.xhy.dao.UserDao.addUser", u);
            //删除用户
//        user.setId(9);
//        ss.delete("com.xhy.dao.UserDao.deleteUser",user);
//        修改用户
//        u.setId(7);
//        u.setName("888");
//        ss.update("com.xhy.dao.UserDao.updateUser", u);
        ss.commit();
        findAllUser();
        ss.close();
    }

相关文章

网友评论

      本文标题:Mybatis

      本文链接:https://www.haomeiwen.com/subject/pzvpqftx.html