zoukankan      html  css  js  c++  java
  • Mybatis配置数据库连接

    首先resources下的mybatis-config.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">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/ssms?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                    <property name="username" value="root"/>
                    <property name="password" value="123456"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="cn/zmxy/dao/UsersMapper.xml"/>
        </mappers>
    </configuration>
    

    pojo实现类层的Java类(对应数据库表),比如Users表

    public class Users {
      private int id;
      private String name;
      private String pwd;
    
      public Users(){}
    
    }
    

    dao层的映射xml和Interface接口

    UsersMapper.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">
    <!--namespace 命名空间 保定一个对应的dao/mapper接口-->
    <mapper namespace="cn.zmxy.dao.UsersMapper">
     <select id="getUserList" resultType="cn.zmxy.pojo.Users">
      SELECT * FROM ssms.users
        </select>
     <select id="getUserById" resultType="cn.zmxy.pojo.Users" parameterType="int">
      SELECT * FROM ssms.users WHERE id = #{id}
      </select>
     <insert id="addUser" parameterType="cn.zmxy.pojo.Users">
      INSERT INTO ssms.users (id, name, pwd) VALUES (#{id}, #{name}, #{pwd})
        </insert>
     <update id="updateUser" parameterType="cn.zmxy.pojo.Users">
      UPDATE ssms.users SET name = #{name}, pwd = #{pwd} WHERE id = #{id}
      </update>
     <delete id="deleteUser" parameterType="int">
      DELETE FROM ssms.users WHERE id = #{id}
      </delete>
    </mapper>
    

    UsersMapper.java

    package cn.zmxy.dao;
    import cn.zmxy.pojo.Users;
    import java.util.List;
    
    public interface UsersMapper {
    
      // 查询全部用户
      public List<Users> getUserList();
    
      // 根据ID查询用户
      public Users getUserById(int id);
    
      // 添加用户
      public int addUser(Users user);
    
      // 修改用户
      public int updateUser(Users user);
    
      // 删除用户
      public int deleteUser(int id);
    }
    

    写一个utils类,获取SqlSession

    MyBatisUtils.java

    package cn.zmxy.utils;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    import java.io.IOException;
    import java.io.InputStream;
    
    public class MyBatisUtils {
    
      private static SqlSessionFactory sqlSessionFactory;
    
      static {
      try {
      String resource = "mybatis-config.xml";
      InputStream is = Resources.getResourceAsStream(resource);
      sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
     } catch (IOException e) {
      e.printStackTrace();
     } }
      public static SqlSession getSqlSession()
     {  return sqlSessionFactory.openSession();
     }}
    

    最后就可以调用了,写一个test类

    UserMapperTest.java

    package cn.zmxy.dao;
    import cn.zmxy.pojo.Users;
    import cn.zmxy.utils.MyBatisUtils;
    import org.apache.ibatis.session.SqlSession;
    import org.junit.Test;
    import java.util.List;
    
    public class UserDaoTest {
      @Test
      public void test()
     {  // 第一步,获取SqlSession对象
      SqlSession sqlSession = MyBatisUtils.getSqlSession();
      // 第二步,执行SQL
      UsersMapper usersMapper = sqlSession.getMapper(UsersMapper.class);
      List<Users> userList = usersMapper.getUserList();
    
      // 打印users
      for (Users users : userList) {
      System.out.println(users);
     }  // 关闭SqlSession
      sqlSession.close();
     }
      @Test
      public void getUserById()
     {  // 第一步,获取SqlSession对象
      SqlSession sqlSession = MyBatisUtils.getSqlSession();
      UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
    
      Users user = mapper.getUserById(1);
      System.out.println(user);
      // 关闭SqlSession
      sqlSession.close();
     }
      @Test
      public void addUser()
     {  // 第一步,获取SqlSession对象
      SqlSession sqlSession = MyBatisUtils.getSqlSession();
      UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
    
      int num = mapper.addUser(new Users(0, "露露", "1234"));
      System.out.println("受影响行数:" + num);
      sqlSession.commit();
      // 关闭SqlSession
      sqlSession.close();
     }
      @Test
      public void updateUser()
     {  // 第一步,获取SqlSession对象
      SqlSession sqlSession = MyBatisUtils.getSqlSession();
      UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
    
      int num = mapper.updateUser(new Users(3, "露露", "1234"));
      System.out.println("受影响行数:" + num);
      sqlSession.commit();
      // 关闭SqlSession
      sqlSession.close();
     }
      @Test
      public void deleteUser()
     {  // 第一步,获取SqlSession对象
      SqlSession sqlSession = MyBatisUtils.getSqlSession();
      UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
    
      int num = mapper.deleteUser(11);
      System.out.println("受影响行数:" + num);
      sqlSession.commit();
      // 关闭SqlSession
      sqlSession.close();
     }
    }
    
  • 相关阅读:
    前端数据可视化插件(二)图谱
    前端数据可视化插件(一)图表
    CSS性能优化
    HTML性能优化
    github前端资源
    javascript生成n至m的随机整数
    原生js获取元素样式
    模式二之框架模式
    kendo-ui的使用和开发自己的组件
    pycharm安装报错Non-zero exit co?
  • 原文地址:https://www.cnblogs.com/cxfs/p/14763764.html
Copyright © 2011-2022 走看看