{"id":148,"date":"2020-07-28T15:55:10","date_gmt":"2020-07-28T07:55:10","guid":{"rendered":"http:\/\/121.89.208.222\/?p=148"},"modified":"2020-12-10T14:24:25","modified_gmt":"2020-12-10T06:24:25","slug":"%e5%9f%ba%e4%ba%8exml%e9%85%8d%e7%bd%ae%e7%9a%84mybatis%e7%9a%84%e5%a2%9e%e5%88%a0%e6%9f%a5%e6%94%b9","status":"publish","type":"post","link":"http:\/\/moyisuiying.com\/index.php\/mybatis\/148.html","title":{"rendered":"\u57fa\u4e8eXML\u914d\u7f6e\u7684Mybatis\u7684\u589e\u5220\u67e5\u6539"},"content":{"rendered":"\n<p>1.\u9996\u5148\u642d\u5efamybatis\u7684\u73af\u5883\u914d\u7f6e\u3002<br>1.1\u5efa\u7acb\u6570\u636e\u5e93\u548c\u672c\u6b21\u6d4b\u8bd5\u7528\u7684\u8868User\u7136\u540e\u63d2\u5165User\u4fe1\u606f\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>create database if not exists mybatisdemo;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>create table if not exists user(id int(4) auto_increment primary key,name varchar(16) not null,password varchar(16) not null,age int(3) ,createtime datetime default now());<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>insert into user(name,password,age,createtime) values('A','A',32,now());\ninsert into user(name,password,age,createtime) values('B','B',53,now());\ninsert into user(name,password,age,createtime) values('C','C',87,now());<\/code><\/pre>\n\n\n\n<p>1.2\u521b\u5efa\u4e00\u4e2amaven\u5de5\u7a0b<br><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20200728120035720.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br>1.3\u4ecepom.xml\u4e2d\u5f15\u5165\u9879\u76ee\u6240\u9700\u7684\u4f9d\u8d56jar\u5305<\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20200728120035720.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br>1.3\u4ecepom.xml\u4e2d\u5f15\u5165\u9879\u76ee\u6240\u9700\u7684\u4f9d\u8d56jar\u5305<\/p><\/noscript>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?>\n&lt;project xmlns=\"http:\/\/maven.apache.org\/POM\/4.0.0\"\n         xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\n         xsi:schemaLocation=\"http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\">\n    &lt;modelVersion>4.0.0&lt;\/modelVersion>\n\n    &lt;groupId>org.example&lt;\/groupId>\n    &lt;artifactId>mybatisdemo2&lt;\/artifactId>\n    &lt;version>1.0-SNAPSHOT&lt;\/version>\n     &lt;dependencies>\n&lt;!--         \u5f15\u5165JUnit\u6d4b\u8bd5\u4f9d\u8d56-->\n         &lt;dependency>\n             &lt;groupId>org.junit.jupiter&lt;\/groupId>\n             &lt;artifactId>junit-jupiter-api&lt;\/artifactId>\n             &lt;version>5.7.0-M1&lt;\/version>\n             &lt;scope>test&lt;\/scope>\n         &lt;\/dependency>\n&lt;!--\u5f15\u5165mybatis\u4f9d\u8d56-->\n         &lt;dependency>\n             &lt;groupId>org.mybatis&lt;\/groupId>\n             &lt;artifactId>mybatis&lt;\/artifactId>\n             &lt;version>3.5.5&lt;\/version>\n         &lt;\/dependency>\n&lt;!--         \u5f15\u5165MySQL\u4f9d\u8d56-->\n    &lt;dependency>\n        &lt;groupId>mysql&lt;\/groupId>\n        &lt;artifactId>mysql-connector-java&lt;\/artifactId>\n        &lt;version>8.0.21&lt;\/version>\n    &lt;\/dependency>\n&lt;\/dependencies>\n\n&lt;\/project><\/code><\/pre>\n\n\n\n<p>1.4\u5728\u5305entity\u4e2d\u5efa\u7acb\u5b9e\u4f53\u7c7bUser.java<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package entity;\n\nimport java.io.Serializable;\nimport java.util.Date;\n\n\/**\n * Classname:User\n *\n * @description:\u7528\u6237\u7c7b\n * @author: \u964c\u610f\u968f\u5f71\n * @Date: 2020-07-24 09:49\n * @Version: 1.0\n **\/\npublic class User implements Serializable {\n    \/\/\u7528\u6237ID\u4e3b\u952e\n    private Integer id;\n    \/\/\u7528\u6237\u540d\n    private String name;\n    \/\/\u5bc6\u7801\n    private  String password;\n    \/\/\u5e74\u9f84\n    private  Integer age;\n    \/\/\u521b\u5efa\u65e5\u671f\n    private  Date createTime;\n\n    public User() {\n    }\n\n    public User(Integer id, String name, String password, Integer age, Date createTime) {\n        this.id = id;\n        this.name = name;\n        this.password = password;\n        this.age = age;\n        this.createTime = createTime;\n    }\n\n    public Integer getId() {\n        return id;\n    }\n\n    public void setId(Integer id) {\n        this.id = id;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getPassword() {\n        return password;\n    }\n\n    public void setPassword(String password) {\n        this.password = password;\n    }\n\n    public Integer getAge() {\n        return age;\n    }\n\n    public void setAge(Integer age) {\n        this.age = age;\n    }\n\n    public Date getCreateTime() {\n        return createTime;\n    }\n\n    public void setCreateTime(Date createTime) {\n        this.createTime = createTime;\n    }\n\n    @Override\n    public String toString() {\n        return \"User{\" +\n                \"id=\" + id +\n                \", name='\" + name + '\\'' +\n                \", password='\" + password + '\\'' +\n                \", age=\" + age +\n                \", createTime=\" + createTime +\n                '}';\n    }\n}<\/code><\/pre>\n\n\n\n<p>1.5\u914d\u7f6emybatis\u7684\u4e3b\u914d\u7f6e\u73af\u5883<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n&lt;!DOCTYPE configuration\n        PUBLIC \"-\/\/mybatis.org\/\/DTD Config 3.0\/\/EN\"\n        \"http:\/\/mybatis.org\/dtd\/mybatis-3-config.dtd\">\n&lt;!--mybatis\u7684\u4e3b\u914d\u7f6e\u6587\u4ef6-->\n&lt;configuration>\n    &lt;environments default=\"development\">\n        &lt;environment id=\"development\">\n            &lt;!-- \u914d\u7f6e\u4e8b\u52a1\u7c7b\u578b  -->\n            &lt;transactionManager type=\"JDBC\"\/>\n            &lt;!--   \u914d\u7f6e\u8fde\u63a5\u4fe1\u606f         -->\n            &lt;dataSource type=\"POOLED\">\n                &lt;!--       \u914d\u7f6e\u52a0\u8f7dMySQL\u7684\u9a71\u52a8         -->\n                &lt;property name=\"driver\" value=\"com.mysql.cj.jdbc.Driver\"\/>\n                &lt;!--      MySQL\u8fde\u63a5\u7684\u6570\u636e\u5e93\u5730\u5740\uff0c\u7b14\u8005\u8fd9\u91cc\u662f\u5728\u672c\u5730localhost\u4e0a\u6d4b\u8bd5\uff0c\u5e76\u4e14\u6570\u636e\u5e93\u7684\u540d\u79f0\u4e3amybatisdemo     -->\n                &lt;property name=\"url\" value=\"jdbc:mysql:\/\/localhost:3306\/mybatisdemo?serverTimezone=UTC\"\/>\n                &lt;!--      MySQL\u8fde\u63a5\u7684\u7528\u6237\u540d         -->\n                &lt;property name=\"username\" value=\"root\"\/>\n                &lt;!--      MySQL\u7684\u8fde\u63a5\u5bc6\u7801        -->\n                &lt;property name=\"password\" value=\"root\"\/>\n            &lt;\/dataSource>\n        &lt;\/environment>\n    &lt;\/environments>\n    &lt;!--   \u6307\u5b9a\u914d\u7f6e\u6587\u4ef6\u7684\u7684\u4f4d\u7f6e\uff0c\u6620\u5c04\u6587\u4ef6\u6307\u7684\u662f\u6bcf\u4e2adao\u7684\u4f4d\u7f6e-->\n    &lt;mappers>\n        &lt;!--  \u6307\u5b9aUserdao\u7684\u4f4d\u7f6e-->\n\n    &lt;\/mappers>\n&lt;\/configuration><\/code><\/pre>\n\n\n\n<p>1.6\u5728dao\u5305\u4e2d\u521b\u5efa\u6301\u4e45\u5c42\u63a5\u53e3UserDao.java<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package dao;\n\nimport entity.User;\n\nimport java.util.List;\n\n\/**\n * Classname:mybatisdemo\n * @description:User\u7684dao\u63a5\u53e3\n * @author: \u964c\u610f\u968f\u5f71\n * @Date: 2020-07-24 10:35\n *\/\npublic interface UserDao {\n\n\n\n}<\/code><\/pre>\n\n\n\n<p>1.7\u914d\u7f6eUserDao\u63a5\u53e3\u7684\u5bf9\u5e94\u6620\u5c04\u4fe1\u606f<br>1.7.1\u5728\u8d44\u6e90\u6839\u76ee\u5f55resources\u4e2d\u521b\u5efa\u4e00\u4e2adao\u5305\uff0c\u7136\u540e\u5728\u8fd9\u4e2adao\u5305\u4e2d\u521b\u5efa\u4e00\u4e2aUserDao.xml\u914d\u7f6e\u6587\u4ef6\u3002\u8981\u786e\u4fdd\u76ee\u5f55\u7ed3\u6784\u548cUserDao.java\u6240\u5728\u7684\u76ee\u5f55\u7ed3\u6784\u4e00\u81f4\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n&lt;!DOCTYPE mapper\n        PUBLIC \"-\/\/mybatis.org\/\/DTD Mapper 3.0\/\/EN\"\n        \"http:\/\/mybatis.org\/dtd\/mybatis-3-mapper.dtd\">\n&lt;!--\u6307\u5b9aUserDao\u63a5\u53e3\u7684\u5168\u9650\u5b9a\u7c7b\u540d-->\n&lt;mapper namespace=\"dao.UserDao\">\n\n&lt;\/mapper><\/code><\/pre>\n\n\n\n<p>1.7.2\u5728mybatis-config.xml\u4e3b\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684mappers\u6807\u7b7e\u4e2d\u58f0\u660eUserDao\u7684\u6620\u5c04\u914d\u7f6e\u4fe1\u606f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> &lt;!--  \u6307\u5b9aUserdao\u7684\u4f4d\u7f6e-->\n        &lt;mapper resource=\"dao\/UserDao.xml\">&lt;\/mapper><\/code><\/pre>\n\n\n\n<p>1.7\u5efa\u7acbJUnit\u6d4b\u8bd5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package dao;\n\nimport entity.User;\nimport org.apache.ibatis.io.Resources;\nimport org.apache.ibatis.session.SqlSession;\nimport org.apache.ibatis.session.SqlSessionFactory;\nimport org.apache.ibatis.session.SqlSessionFactoryBuilder;\nimport org.junit.jupiter.api.Test;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.util.List;\n\n\/**\n * Classname:UserDaoTest\n *\n * @description:\u6d4b\u8bd5Userdao\n * @author: \u964c\u610f\u968f\u5f71\n * @Date: 2020-07-24 10:49\n * @Version: 1.0\n **\/\npublic class UserDaoTest {\n    @Test\n    public void testGetUserAll(){\n        try {\n            \/\/\u8bfb\u53d6\u914d\u7f6e\u6587\u4ef6\n            InputStream inputStream = Resources.getResourceAsStream(\"mybatis-config.xml\");\n            \/\/\u5b9e\u4f8b\u5316SqlSessionFactoryBuilder\n            SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();\n          \/\/\u6784\u5efaSqlSessionFactory\n            SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);\n           \/\/\u4ea7\u751f\u4e00\u4e2aSqlSession\n            SqlSession sqlSession = sqlSessionFactory.openSession();\n            \/\/\u5229\u7528SqlSession\u521b\u5efaUserDAao\u7684\u4ee3\u7406\u5bf9\u8c61\n            UserDao userDao = sqlSession.getMapper(UserDao.class);\n\n\n        } catch (IOException e) {\n            e.printStackTrace();\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u5230\u6b64\uff0c\u5b8c\u6574\u7684\u73af\u5883\u6846\u67b6\u5df2\u7ecf\u642d\u5efa\u597d\u4e86\uff0c\u5176\u76ee\u5f55\u7ed3\u6784\u4e3a\uff1a<br><img   class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20200728121100999.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20200728121100999.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p><\/noscript>\n\n\n\n<p>2.\u5b9e\u73b0\u5411\u6570\u636e\u5e93\u4e2d\u63d2\u5165\u65b0\u7684User\u529f\u80fd\u3002<br>2.1\u9996\u5148\u5728UserDao\u4e2d\u6dfb\u52a0\u51fd\u6570 public void saveUser(User user);<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> \/**\n    * @Description :\u5411\u6570\u636e\u5e93\u4e2d\u63d2\u5165\u65b0\u7684\u7528\u6237\u4fdd\u5b58\n    * @Date 12:34 2020\/7\/28 0028\n    * @Param * @param user \uff1a\u9700\u8981\u5904\u5165\u7684\u7528\u6237\n    * @return void\n    **\/\n    public void saveUser(User user);<\/code><\/pre>\n\n\n\n<p>2.2\u5728UserDao.xml\u7684mapper\u6807\u7b7e\u5185\u6dfb\u52a0\u63d2\u5165\u7528\u6237\u4fe1\u606f\u7684sql\u8bed\u53e5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!--\u6307\u5b9aUserDao\u63a5\u53e3\u7684\u5168\u9650\u5b9a\u7c7b\u540d-->\n&lt;mapper namespace=\"dao.UserDao\">\n\n&lt;!--    \u914d\u7f6e\u63d2\u5165User\u7684SQL\u8bed\u53e5\uff0c\nid\u5bf9\u5e94UserDao\u7684\u65b9\u6cd5\u540d\nparameterType\u5bf9\u5e94\u65b9\u6cd5\u4e2d\u7684\u53c2\u6570\u7c7b\u578b\n-->\n    &lt;insert id=\"saveUser\" parameterType=\"entity.User\">\n        insert into user(name,password,age,createTime) values(#{name},#{password},#{age},#{createTime});\n    &lt;\/insert>\n&lt;\/mapper><\/code><\/pre>\n\n\n\n<p>\u6ce8\u610f\u53c2\u6570\u7b26\u53f7\uff1a#\uff5b\uff5d\uff0c\u6bd4\u5982#{id}\u8fd9\u5c31\u544a\u8bc9 MyBatis \u521b\u5efa\u4e00\u4e2a\u9884\u5904\u7406\u8bed\u53e5\uff08PreparedStatement\uff09\u53c2\u6570\uff0c\u5728 JDBC \u4e2d\uff0c\u8fd9\u6837\u7684\u4e00\u4e2a\u53c2\u6570\u5728 SQL \u4e2d\u4f1a\u7531\u4e00\u4e2a\u201c?\u201d\u6765\u6807\u8bc6\uff0c\u5e76\u88ab\u4f20\u9012\u5230\u4e00\u4e2a\u65b0\u7684\u9884\u5904\u7406\u8bed\u53e5\u4e2d\uff0c\u5c31\u50cf\u8fd9\u6837\uff1a<br>\/\/ \u8fd1\u4f3c\u7684 JDBC \u4ee3\u7801\uff0c\u975e MyBatis \u4ee3\u7801\u2026<br>String selectPerson = \"SELECT * FROM PERSON WHERE id =?;<br>PreparedStatement ps = conn.prepareStatement(selectPerson);<br>ps.setInt(1,id);<br>3.\u5b9e\u73b0\u4ece\u6570\u636e\u5e93\u4e2d\u5220\u9664User\u7684\u529f\u80fd<br>3.1\u9996\u5148\u5728UserDao\u4e2d\u6dfb\u52a0\u51fd\u6570 public void deleteUser(int id);<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>   \/**\n     * @Description :\u6839\u636e\u4e3b\u952eid\u4ece\u6570\u636e\u5e93\u4e2d\u5220\u9664\u7528\u6237\n     * @Date 12:58 2020\/7\/28 0028\n     * @Param * @param id \uff1aUser\u7684\u4e3b\u952eid\n     * @return void\n     **\/\n  public void deleteUser(int id);<\/code><\/pre>\n\n\n\n<p>3.2\u5728UserDao.xml\u7684mapper\u6807\u7b7e\u5185\u6dfb\u52a0\u5220\u9664\u7528\u6237\u4fe1\u606f\u7684sql\u8bed\u53e5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!--\u6307\u5b9aUserDao\u63a5\u53e3\u7684\u5168\u9650\u5b9a\u7c7b\u540d-->\n&lt;mapper namespace=\"dao.UserDao\">\n\n&lt;!--    \u914d\u7f6e\u63d2\u5165User\u7684SQL\u8bed\u53e5\uff0c\nid\u5bf9\u5e94UserDao\u7684\u65b9\u6cd5\u540d saveUser\nparameterType\u5bf9\u5e94\u65b9\u6cd5\u4e2d\u7684\u53c2\u6570\u7c7b\u578b\n-->\n    &lt;insert id=\"saveUser\" parameterType=\"entity.User\">\n        insert into user(name,password,age,createTime) values(#{name},#{password},#{age},#{createTime});\n    &lt;\/insert>\n&lt;!-- \u914d\u7f6e\u5220\u9664User\u7684sql\u8bed\u53e5\nid\u5bf9\u5e94UserDao\u7684\u65b9\u6cd5\u540d \nparameterType\u5bf9\u5e94\u65b9\u6cd5\u4e2d\u7684\u53c2\u6570\u7c7b\u578b\n-->\n    &lt;delete id=\"deleteUser\" parameterType=\"java.lang.Integer\">\n        delete  from user where id=#{id}\n    &lt;\/delete>\n&lt;\/mapper><\/code><\/pre>\n\n\n\n<p>4.\u5b9e\u73b0\u4ece\u6570\u636e\u5e93\u4e2d\u66f4\u65b0User\u7684\u529f\u80fd<br>4.1\u9996\u5148\u5728UserDao\u4e2d\u6dfb\u52a0\u51fd\u6570 public void updateUser(User user);<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> \/**\n   * @Description :\u66f4\u65b0\u7528\u6237\u4fe1\u606f\n   * @Date 13:08 2020\/7\/28 0028\n   * @Param * @param user \uff1a\u65b0\u7684\u7528\u6237\n   * @return void\n   **\/\n  public  void updateUser(User user);<\/code><\/pre>\n\n\n\n<p>4.2\u5728UserDao.xml\u7684mapper\u6807\u7b7e\u5185\u6dfb\u52a0\u66f4\u65b0\u7528\u6237\u4fe1\u606f\u7684sql\u8bed\u53e5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!--\u6307\u5b9aUserDao\u63a5\u53e3\u7684\u5168\u9650\u5b9a\u7c7b\u540d-->\n&lt;mapper namespace=\"dao.UserDao\">\n\n&lt;!--    \u914d\u7f6e\u63d2\u5165User\u7684SQL\u8bed\u53e5\uff0c\nid\u5bf9\u5e94UserDao\u7684\u65b9\u6cd5\u540d saveUser\nparameterType\u5bf9\u5e94\u65b9\u6cd5\u4e2d\u7684\u53c2\u6570\u7c7b\u578b\n-->\n    &lt;insert id=\"saveUser\" parameterType=\"entity.User\">\n        insert into user(name,password,age,createTime) values(#{name},#{password},#{age},#{createTime});\n    &lt;\/insert>\n&lt;!-- \u914d\u7f6e\u5220\u9664User\u7684sql\u8bed\u53e5\nid\u5bf9\u5e94UserDao\u7684\u65b9\u6cd5\u540d \nparameterType\u5bf9\u5e94\u65b9\u6cd5\u4e2d\u7684\u53c2\u6570\u7c7b\u578b\n-->\n    &lt;delete id=\"deleteUser\">\n        delete  from user where id=#{id}\n    &lt;\/delete>\n    &lt;!--    \u914d\u7f6e\u66f4\u65b0\u7528\u6237\u7684\u4fe1\u606f-->\n    &lt;update id=\"updateUser\" parameterType=\"entity.User\">\n        update user set name=#{name},password=#{password},age=#{age},createTime=#{createTime} where id=#{id}\n    &lt;\/update>\n\n&lt;\/mapper><\/code><\/pre>\n\n\n\n<p>5.\u5b9e\u73b0\u4ece\u6570\u636e\u4e2d\u4fee\u6539User\u4fe1\u606f\u7684 \u529f\u80fd\u3002<br>5.1\u9996\u5148\u5728UserDao\u4e2d\u6dfb\u52a0\u51fd\u6570 public User findUser(int id);<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  \/**\n   * @Description :\u901a\u8fc7\u4e3b\u952eid\u67e5\u627e\u7528\u6237\n   * @Date 13:17 2020\/7\/28 0028\n   * @Param * @param id \uff1a\n   * @return entity.User\n   **\/\n  public User findUser(int id);<\/code><\/pre>\n\n\n\n<p>5.2\u5728UserDao.xml\u7684mapper\u6807\u7b7e\u5185\u6dfb\u52a0\u67e5\u627e\u7528\u6237\u4fe1\u606f\u7684sql\u8bed\u53e5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!--\u6307\u5b9aUserDao\u63a5\u53e3\u7684\u5168\u9650\u5b9a\u7c7b\u540d-->\n&lt;mapper namespace=\"dao.UserDao\">\n&lt;!--    \u914d\u7f6e\u63d2\u5165User\u7684SQL\u8bed\u53e5\uff0c\nid\u5bf9\u5e94UserDao\u7684\u65b9\u6cd5\u540d saveUser\nparameterType\u5bf9\u5e94\u65b9\u6cd5\u4e2d\u7684\u53c2\u6570\u7c7b\u578b\n-->\n    &lt;insert id=\"saveUser\" parameterType=\"entity.User\">\n        insert into user(name,password,age,createTime) values(#{name},#{password},#{age},#{createTime});\n    &lt;\/insert>\n&lt;!-- \u914d\u7f6e\u5220\u9664User\u7684sql\u8bed\u53e5\nid\u5bf9\u5e94UserDao\u7684\u65b9\u6cd5\u540d \nparameterType\u5bf9\u5e94\u65b9\u6cd5\u4e2d\u7684\u53c2\u6570\u7c7b\u578b\n-->\n    &lt;delete id=\"deleteUser\">\n        delete  from user where id=#{id}\n    &lt;\/delete>\n    &lt;!--    \u914d\u7f6e\u66f4\u65b0\u7528\u6237\u7684\u4fe1\u606f-->\n    &lt;update id=\"updateUser\" parameterType=\"entity.User\">\n        update  user set name=#{name},password=#{password},age=#{age},createTime=#{createTime} where id=#{id}\n    &lt;\/update>\n      &lt;!-- \u914d\u7f6e\u67e5\u627e\u7528\u6237\u7684sql\u8bed\u53e5-->\n    &lt;select id=\"findUser\" resultType=\"entity.User\">\n    select * from User where  id=#{id}\n&lt;\/mapper><\/code><\/pre>\n\n\n\n<p>6.\u5728\u6d4b\u8bd5\u7c7b\u4e2d\u6dfb\u52a0\u6bcf\u4e2a\u65b9\u6cd5\u7684\u6d4b\u8bd5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package dao;\n\nimport entity.User;\nimport org.apache.ibatis.io.Resources;\nimport org.apache.ibatis.session.SqlSession;\nimport org.apache.ibatis.session.SqlSessionFactory;\nimport org.apache.ibatis.session.SqlSessionFactoryBuilder;\nimport org.junit.jupiter.api.*;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.util.Date;\nimport java.util.List;\n\n\/**\n * Classname:UserDaoTest\n *\n * @description:\u6d4b\u8bd5Userdao\n * @author: \u964c\u610f\u968f\u5f71\n * @Date: 2020-07-24 10:49\n * @Version: 1.0\n **\/\npublic class UserDaoTest {\n    private  InputStream inputStream ;\n    private SqlSession sqlSession ;\n    private   UserDao userDao;\n    @BeforeEach\n    public  void init() throws IOException {\n        \/\/\u8bfb\u53d6\u914d\u7f6e\u6587\u4ef6\n       inputStream = Resources.getResourceAsStream(\"mybatis-config.xml\");\n        \/\/\u5b9e\u4f8b\u5316SqlSessionFactoryBuilder\n        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();\n        \/\/\u6784\u5efaSqlSessionFactory\n        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);\n        \/\/\u4ea7\u751f\u4e00\u4e2aSqlSession\n        sqlSession = sqlSessionFactory.openSession();\n        \/\/\u5229\u7528SqlSession\u521b\u5efaUserDAao\u7684\u4ee3\u7406\u5bf9\u8c61\n        userDao = sqlSession.getMapper(UserDao.class);\n\n\n    }\n    @AfterEach\n    public  void destroy() throws Exception {\n        \/\/\u63d0\u4ea4\u6570\u636e\u5e93\u64cd\u4f5c\n        sqlSession.commit();\n        \/\/\u5173\u95ed\u6570\u636e\u5e93\u8fde\u63a5\n        sqlSession.close();\n        \/\/\u5173\u95ed\u6d41\n        inputStream.close();\n    }\n    @Test\n    public void testSaveUser(){\n        User user = new User();\n        user.setAge(52);\n        user.setCreateTime(new Date());\n        user.setName(\"GG\");\n        user.setPassword(\"GG\");\n        userDao.saveUser(user);\n    }\n    @Test\n    public  void testDeleteUser(){\n        int id = 3;\n        userDao.deleteUser(id);\n    }\n    @Test\n    public void testUpdateUser(){\n        User user = new User();\n        user.setId(5);\n        user.setAge(52);\n        user.setCreateTime(new Date());\n        user.setName(\"GG\");\n        user.setPassword(\"HHHHHHHHHH\");\n        userDao.updateUser(user);\n    }\n    @Test\n    public void testFindUser(){\n\n         int id =2;\n        User user = userDao.findUser(id);\n        System.out.println(user);\n    }\n}<\/code><\/pre>\n\n\n\n<p>6.1\u6d4b\u8bd5testSaveUser\u65b9\u6cd5\uff0c\u8fd0\u884c\u622a\u56fe\uff1a<br><img  src=\"https:\/\/img-blog.csdnimg.cn\/20200728153935296.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br><img src=\"https:\/\/img-blog.csdnimg.cn\/20200728153958527.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br>6.2\u6d4b\u8bd5testDeleteUser\u65b9\u6cd5\uff0c\u8fd0\u884c\u622a\u56fe<br><img src=\"https:\/\/img-blog.csdnimg.cn\/20200728154112277.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br><img  class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20200728154142926.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br>6.3\u6d4b\u8bd5\u67e5\u627e\u65b9\u6cd5testFindUser\uff0c\u8fd0\u884c\u622a\u56fe<\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/20200728153935296.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br><img src=\"https:\/\/img-blog.csdnimg.cn\/20200728153958527.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br>6.2\u6d4b\u8bd5testDeleteUser\u65b9\u6cd5\uff0c\u8fd0\u884c\u622a\u56fe<br><img src=\"https:\/\/img-blog.csdnimg.cn\/20200728154112277.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br><img src=\"https:\/\/img-blog.csdnimg.cn\/20200728154142926.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br>6.3\u6d4b\u8bd5\u67e5\u627e\u65b9\u6cd5testFindUser\uff0c\u8fd0\u884c\u622a\u56fe<\/p><\/noscript>\n\n\n\n<p><img  src=\"https:\/\/img-blog.csdnimg.cn\/202007281543178.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br>6.4\u6d4b\u8bd5\u66f4\u65b0\u7528\u6237\u65b9\u6cd5testUpdateUser,\u8fd0\u884c\u622a\u56fe<br><img src=\"https:\/\/img-blog.csdnimg.cn\/2020072815455345.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br><img  class=\"lazyload\" data-src=\"https:\/\/img-blog.csdnimg.cn\/20200728154606776.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/moezx\/cdn@3.0.2\/img\/svg\/loader\/trans.ajax-spinner-preloader.svg\" onerror=\"imgError(this)\"  alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p >\n<noscript><img src=\"https:\/\/img-blog.csdnimg.cn\/202007281543178.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br>6.4\u6d4b\u8bd5\u66f4\u65b0\u7528\u6237\u65b9\u6cd5testUpdateUser,\u8fd0\u884c\u622a\u56fe<br><img src=\"https:\/\/img-blog.csdnimg.cn\/2020072815455345.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br><img src=\"https:\/\/img-blog.csdnimg.cn\/20200728154606776.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE4NzAwMjI=,size_16,color_FFFFFF,t_70\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><\/p><\/noscript>\n\n\n\n<p>7.\u672c\u6b21\u7684\u5b9e\u9a8c\u9879\u76ee\u6e90\u4ee3\u7801\u5df2\u7ecf\u4e0a\u4f20\u5230\u670d\u52a1\u5668\uff0c\u6709\u9700\u8981\u7684\u8bf7\u81ea\u884c\u4e0b\u8f7d\uff0c\u89e3\u538b\u540e\u5bfc\u5165Idea\u5373\u53ef\uff1a<a href=\"http:\/\/moyisuiying.com\/wp-content\/uploads\/2020\/07\/mybatisdemo2.rar\">http:\/\/moyisuiying.com\/wp-content\/uploads\/2020\/07\/mybatisdemo2.rar<\/a><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u57fa\u4e8eXML\u914d\u7f6e\u5b9e\u73b0mybatis\u7684\u589e\u5220\u67e5\u6539\u7b80\u5355\u7684\u529f\u80fd<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[11,21,13,24],"_links":{"self":[{"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/posts\/148"}],"collection":[{"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/comments?post=148"}],"version-history":[{"count":1,"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/posts\/148\/revisions"}],"predecessor-version":[{"id":422,"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/posts\/148\/revisions\/422"}],"wp:attachment":[{"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/media?parent=148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/categories?post=148"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/moyisuiying.com\/index.php\/wp-json\/wp\/v2\/tags?post=148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}