{"id":577,"date":"2022-11-25T12:54:22","date_gmt":"2022-11-25T12:54:22","guid":{"rendered":"http:\/\/www.gislxz.com\/?p=577"},"modified":"2022-12-30T07:57:46","modified_gmt":"2022-12-30T07:57:46","slug":"java%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%881%ef%bc%89","status":"publish","type":"post","link":"https:\/\/www.gislxz.com\/index.php\/2022\/11\/25\/java%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%881%ef%bc%89\/","title":{"rendered":"JavaWeb\u5b66\u4e60\u7b14\u8bb0\uff081\uff09"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Maven\u5b89\u88c5<\/h2>\n\n\n\n<p><a href=\"https:\/\/blog.csdn.net\/tirster\/article\/details\/123418269\" target=\"_blank\"  rel=\"nofollow\" >https:\/\/blog.csdn.net\/tirster\/article\/details\/123418269<\/a><\/p>\n\n\n\n<p>\u6570\u636e\u5e93\u8fde\u63a5\u6c60 Druid\uff08\u5bf9\u4e8e\u6211\u8981\u505a\u7684\u9879\u76ee\u6765\u8bf4\u7528\u4e0d\u4e0a\uff0c\u4e0d\u662f\u9762\u5411\u591a\u7528\u6237\u7684\uff09<\/p>\n\n\n\n<p><a href=\"https:\/\/www.jianshu.com\/p\/f8b720737b20\" target=\"_blank\"  rel=\"nofollow\" >Druid \u8fde\u63a5\u6c60\u4ecb\u7ecd - \u7b80\u4e66 (jianshu.com)<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">MyBatis<\/h2>\n\n\n\n<p><a href=\"https:\/\/mybatis.org\/mybatis-3\/zh\/getting-started.html\" target=\"_blank\"  rel=\"nofollow\" >mybatis \u2013 MyBatis 3 | \u5165\u95e8<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"457\" src=\"http:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-9-1024x457.png\" alt=\"\" class=\"wp-image-578\" srcset=\"https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-9-1024x457.png 1024w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-9-300x134.png 300w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-9-768x343.png 768w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-9-1536x685.png 1536w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-9-2048x914.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u65b0\u5efa\u9879\u76ee\uff0c\u8bbe\u7f6e\u4f9d\u8d56<\/h3>\n\n\n\n<p>\u5728IntelliJ\u4e2d\u65b0\u5efa\u4e2a\u7a7a\u9879\u76ee\uff0c\u518d\u65b0\u5efamaven\u6846\u67b6\u7684\u6a21\u5757\uff0c\u53d6\u540dmybatis_demo<\/p>\n\n\n\n<p>\u5728pom.xml\u4e2d\u52a0\u5165mybatis\u7b49\u4f9d\u8d56\uff0c\u65e5\u5fd7\u4f9d\u8d56\u9700\u8981\u628alogback.xml\u62d6\u5165main\u7684\u8d44\u6e90\u76ee\u5f55<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;dependencies&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.mybatis&lt;\/groupId&gt;\n            &lt;artifactId&gt;mybatis&lt;\/artifactId&gt;\n            &lt;version&gt;3.5.5&lt;\/version&gt;\n        &lt;\/dependency&gt;\n\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.postgresql&lt;\/groupId&gt;\n            &lt;artifactId&gt;postgresql&lt;\/artifactId&gt;\n            &lt;version&gt;42.1.1&lt;\/version&gt;\n        &lt;\/dependency&gt;\n\n        &lt;dependency&gt;\n            &lt;groupId&gt;junit&lt;\/groupId&gt;\n            &lt;artifactId&gt;junit&lt;\/artifactId&gt;\n            &lt;version&gt;4.13&lt;\/version&gt;\n            &lt;scope&gt;test&lt;\/scope&gt;\n        &lt;\/dependency&gt;\n\n        &lt;dependency&gt;\n            &lt;groupId&gt;ch.qos.logback&lt;\/groupId&gt;\n            &lt;artifactId&gt;logback-core&lt;\/artifactId&gt;\n            &lt;version&gt;1.2.3&lt;\/version&gt;\n        &lt;\/dependency&gt;\n    &lt;\/dependencies&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u7f16\u5199Mybatis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6<\/h3>\n\n\n\n<p>\u4ece XML \u4e2d\u6784\u5efa SqlSessionFactory\uff0c\u5728\u8d44\u6e90\u4e0b\u65b0\u5efamybatis-config.xml<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\" ?&gt;\n&lt;!DOCTYPE configuration\n        PUBLIC \"-\/\/mybatis.org\/\/DTD Config 3.0\/\/EN\"\n        \"https:\/\/mybatis.org\/dtd\/mybatis-3-config.dtd\"&gt;\n&lt;configuration&gt;\n    &lt;environments default=\"development\"&gt;\n        &lt;environment id=\"development\"&gt;\n            &lt;transactionManager type=\"JDBC\"\/&gt;\n            &lt;dataSource type=\"POOLED\"&gt;\n                &lt;property name=\"driver\" value=\"org.postgresql.Driver\"\/&gt;\n                &lt;property name=\"url\" value=\"jdbc:postgresql:\/\/localhost:5432\/Test0\"\/&gt;\n                &lt;property name=\"username\" value=\"postgres\"\/&gt;\n                &lt;property name=\"password\" value=\"~\"\/&gt;\n            &lt;\/dataSource&gt;\n        &lt;\/environment&gt;\n    &lt;\/environments&gt;\n    &lt;mappers&gt;\n        &lt;mapper resource=\"UserMapper.xml\"\/&gt;\n    &lt;\/mappers&gt;\n&lt;\/configuration&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u6620\u5c04SQL<\/h3>\n\n\n\n<p>\u5728\u8d44\u6e90\u6587\u4ef6\u5939\u91cc\u65b0\u5efaUserMapper.xml<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\" ?&gt;\n&lt;!DOCTYPE mapper\n        PUBLIC \"-\/\/mybatis.org\/\/DTD Mapper 3.0\/\/EN\"\n        \"https:\/\/mybatis.org\/dtd\/mybatis-3-mapper.dtd\"&gt;\n&lt;mapper namespace=\"test\"&gt;\n    &lt;select id=\"selectAll\" resultType=\"dataReceiver.User\"&gt;\n        select * from Test0;\n    &lt;\/select&gt;\n&lt;\/mapper&gt;<\/code><\/pre>\n\n\n\n<p>\u540c\u65f6\u5728main\u91cc\u65b0\u5efa\u7c7bdataReceiver.User<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package dataReceiver;\n\npublic class User {\n    private int debt;\n    private String name;\n\n    public int getDebt() {\n        return debt;\n    }\n\n    public void setDebt(int debt) {\n        this.debt = debt;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    @Override\n    public String toString() {\n        return \"User{\" +\n                \"debt=\" + debt +\n                \", name='\" + name + '\\'' +\n                '}';\n    }\n}\n\/\/Alt+Insert\u5feb\u6377\u6784\u5efa\u51fd\u6570<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u7f16\u5199\u6d4b\u8bd5\u7c7b<\/h3>\n\n\n\n<p>main\u91cc\u65b0\u5efaMyBatisDemo\u7c7b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import dataReceiver.User;\nimport org.apache.ibatis.io.Resources;\nimport org.apache.ibatis.session.SqlSessionFactory;\nimport org.apache.ibatis.session.SqlSessionFactoryBuilder;\nimport org.apache.ibatis.session.SqlSession;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.util.List;\n\npublic class MybatisDemo {\n    public static void main(String&#91;] args) throws IOException {\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n\n        \/\/\u6267\u884csql\n        List&lt;User&gt; users = sqlSession.selectList(\"test.selectAll\");\n\n        System.out.println(users);\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u62a5\u9519\uff1a<\/p>\n\n\n\n<p>\u4e25\u91cd: Connection error:<br>org.postgresql.util.PSQLException: \u4e0d\u652f\u63f4 10 \u9a8c\u8bc1\u7c7b\u578b\u3002\u8bf7\u6838\u5bf9\u60a8\u5df2\u7ecf\u7ec4\u6001 pg_hba.conf \u6587\u4ef6\u5305\u542b\u5ba2\u6237\u7aef\u7684IP\u4f4d\u5740\u6216\u7f51\u8def\u533a\u6bb5\uff0c\u4ee5\u53ca\u9a71\u52a8\u7a0b\u5e8f\u6240\u652f\u63f4\u7684\u9a8c\u8bc1\u67b6\u6784\u6a21\u5f0f\u5df2\u88ab\u652f\u63f4\u3002<\/p>\n\n\n\n<p>\u524d\u5f80\u4fee\u6539pg_hba.conf,\u91cd\u542fpostgreSql\u670d\u52a1<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"http:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-10-1024x768.png\" alt=\"\" class=\"wp-image-584\" srcset=\"https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-10-1024x768.png 1024w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-10-300x225.png 300w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-10-768x576.png 768w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-10-1536x1153.png 1536w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-10.png 1539w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Mapper\u4ee3\u7406\u5f00\u53d1<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"553\" src=\"http:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-11-1024x553.png\" alt=\"\" class=\"wp-image-586\" srcset=\"https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-11-1024x553.png 1024w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-11-300x162.png 300w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-11-768x415.png 768w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-11.png 1065w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u5b9a\u4e49mapper<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"618\" src=\"http:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-12-1024x618.png\" alt=\"\" class=\"wp-image-587\" srcset=\"https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-12-1024x618.png 1024w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-12-300x181.png 300w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-12-768x464.png 768w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-12.png 1246w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u628amapper.xml\u7f6e\u4e8e\u540c\u76ee\u5f55\u4e0b\uff0c\u4fee\u6539namespace<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"432\" src=\"http:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-13-1024x432.png\" alt=\"\" class=\"wp-image-588\" srcset=\"https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-13-1024x432.png 1024w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-13-300x126.png 300w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-13-768x324.png 768w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-13-1536x647.png 1536w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-13.png 1644w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u4fee\u6539\u6620\u5c04\u6587\u4ef6mapper.xml\u76f8\u5bf9\u4f4d\u7f6e<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"432\" src=\"http:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-14-1024x432.png\" alt=\"\" class=\"wp-image-589\" srcset=\"https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-14-1024x432.png 1024w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-14-300x126.png 300w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-14-768x324.png 768w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-14-1536x647.png 1536w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-14.png 1644w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u6d4b\u8bd5\u7c7b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\npublic class MybatisDemo2 {\n    public static void main(String&#91;] args) throws IOException {\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n\n        \/\/\u6267\u884csql\n        \/\/List&lt;User&gt; users = sqlSession.selectList(\"test.selectAll\");\n        \/\/\u83b7\u53d6\u5bf9\u4e8eUserMapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);\n        List&lt;User&gt; users = userMapper.selectAll();\n\n        System.out.println(users);\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u5305\u626b\u63cf\uff0c\u4e00\u6b21\u5bfc\u5165\u6240\u6709mapper\u7c7b\uff0c\u9700\u628a\u6240\u6709mapper\u7c7b\u653e\u5728\u540c\u4e00\u6587\u4ef6\u5939\u4e0b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    &lt;mappers&gt;\n        &lt;!--&lt;mapper resource=\"mapper\/UserMapper.xml\"\/&gt;--&gt;\n        &lt;package name=\"mapper\"\/&gt;\n    &lt;\/mappers&gt;<\/code><\/pre>\n\n\n\n<p>&lt;typeAliases&gt;\u522b\u540d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u589e\u67e5\u5220\u6539\u7ec3\u4e60<\/h2>\n\n\n\n<p>\u521b\u5efa\u793a\u4f8b\u8868<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-- \u5220\u9664tb_brand\u8868\ndrop table if exists tb_brand;\n-- \u521b\u5efatb_brand\u8868\ncreate table tb_brand\n(\n    -- id \u4e3b\u952e\n    id           int primary key auto_increment,\n    -- \u54c1\u724c\u540d\u79f0\n    brand_name   varchar(20),\n    -- \u4f01\u4e1a\u540d\u79f0\n    company_name varchar(20),\n    -- \u6392\u5e8f\u5b57\u6bb5\n    ordered      int,\n    -- \u63cf\u8ff0\u4fe1\u606f\n    description  varchar(100),\n    -- \u72b6\u6001\uff1a0\uff1a\u7981\u7528  1\uff1a\u542f\u7528\n    status       int\n);\n-- \u6dfb\u52a0\u6570\u636e\ninsert into tb_brand (brand_name, company_name, ordered, description, status)\nvalues ('\u4e09\u53ea\u677e\u9f20', '\u4e09\u53ea\u677e\u9f20\u80a1\u4efd\u6709\u9650\u516c\u53f8', 5, '\u597d\u5403\u4e0d\u4e0a\u706b', 0),\n       ('\u534e\u4e3a', '\u534e\u4e3a\u6280\u672f\u6709\u9650\u516c\u53f8', 100, '\u534e\u4e3a\u81f4\u529b\u4e8e\u628a\u6570\u5b57\u4e16\u754c\u5e26\u5165\u6bcf\u4e2a\u4eba\u3001\u6bcf\u4e2a\u5bb6\u5ead\u3001\u6bcf\u4e2a\u7ec4\u7ec7\uff0c\u6784\u5efa\u4e07\u7269\u4e92\u8054\u7684\u667a\u80fd\u4e16\u754c', 1),\n       ('\u5c0f\u7c73', '\u5c0f\u7c73\u79d1\u6280\u6709\u9650\u516c\u53f8', 50, 'are you ok', 1);\n\n\nSELECT * FROM tb_brand;<\/code><\/pre>\n\n\n\n<p>\u65b0\u5efa\u6570\u636e\u7c7bBrand<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package dataReceiver;\n\n\/**\n * \u54c1\u724c\n *\n * alt + \u9f20\u6807\u5de6\u952e\uff1a\u6574\u5217\u7f16\u8f91\n *\n * \u5728\u5b9e\u4f53\u7c7b\u4e2d\uff0c\u57fa\u672c\u6570\u636e\u7c7b\u578b\u5efa\u8bae\u4f7f\u7528\u5176\u5bf9\u5e94\u7684\u5305\u88c5\u7c7b\u578b\n *\/\n\npublic class Brand {\n    \/\/ id \u4e3b\u952e\n    private Integer id;\n    \/\/ \u54c1\u724c\u540d\u79f0\n    private String brandName;\n    \/\/ \u4f01\u4e1a\u540d\u79f0\n    private String companyName;\n    \/\/ \u6392\u5e8f\u5b57\u6bb5\n    private Integer ordered;\n    \/\/ \u63cf\u8ff0\u4fe1\u606f\n    private String description;\n    \/\/ \u72b6\u6001\uff1a0\uff1a\u7981\u7528  1\uff1a\u542f\u7528\n    private Integer status;\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 getBrandName() {\n        return brandName;\n    }\n\n    public void setBrandName(String brandName) {\n        this.brandName = brandName;\n    }\n\n    public String getCompanyName() {\n        return companyName;\n    }\n\n    public void setCompanyName(String companyName) {\n        this.companyName = companyName;\n    }\n\n    public Integer getOrdered() {\n        return ordered;\n    }\n\n    public void setOrdered(Integer ordered) {\n        this.ordered = ordered;\n    }\n\n    public String getDescription() {\n        return description;\n    }\n\n    public void setDescription(String description) {\n        this.description = description;\n    }\n\n    public Integer getStatus() {\n        return status;\n    }\n\n    public void setStatus(Integer status) {\n        this.status = status;\n    }\n\n    @Override\n    public String toString() {\n        return \"Brand{\" +\n                \"id=\" + id +\n                \", brandName='\" + brandName + '\\'' +\n                \", companyName='\" + companyName + '\\'' +\n                \", ordered=\" + ordered +\n                \", description='\" + description + '\\'' +\n                \", status=\" + status +\n                '}';\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>\u5728Test\u91cc\u65b0\u5efa\u6d4b\u8bd5\u7c7b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package test;\n\nimport dataReceiver.Brand;\nimport mapper.BrandMapper;\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.Test;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.util.List;\n\npublic class MyBatisTest {\n    @Test\n    public void testSelectAll() throws IOException {\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        List&lt;Brand&gt; brands = brandMapper.selectAll();\n        System.out.println(brands);\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>BrandMapper\u7c7b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package mapper;\n\nimport  dataReceiver.Brand;\n\nimport java.util.List;\n\npublic interface BrandMapper {\n    public List&lt;Brand&gt; selectAll();\n}<\/code><\/pre>\n\n\n\n<p>BrandMapper\u6620\u5c04\u8868<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\" ?&gt;\n&lt;!DOCTYPE mapper\n        PUBLIC \"-\/\/mybatis.org\/\/DTD Mapper 3.0\/\/EN\"\n        \"https:\/\/mybatis.org\/dtd\/mybatis-3-mapper.dtd\"&gt;\n&lt;mapper namespace=\"mapper.BrandMapper\"&gt;\n    &lt;select id=\"selectAll\" resultType=\"dataReceiver.Brand\"&gt;\n        select * from tb_brand;\n    &lt;\/select&gt;\n&lt;\/mapper&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u6570\u636e\u5e93\u5b57\u6bb5\u4e0e\u6570\u636e\u63a5\u6536\u7c7b\u7684\u5b57\u6bb5\u540d\u4e0d\u4e00\u81f4\u65f6\u7684\u89e3\u51b3\u65b9\u6cd5\uff1a<\/h3>\n\n\n\n<p>1 sql\u67e5\u8be2\u65f6\u8d77\u522b\u540d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\" ?&gt;\n&lt;!DOCTYPE mapper\n        PUBLIC \"-\/\/mybatis.org\/\/DTD Mapper 3.0\/\/EN\"\n        \"https:\/\/mybatis.org\/dtd\/mybatis-3-mapper.dtd\"&gt;\n&lt;mapper namespace=\"mapper.BrandMapper\"&gt;\n    &lt;!--&lt;select id=\"selectAll\" resultType=\"dataReceiver.Brand\"&gt;\n        select * from tb_brand;\n    &lt;\/select&gt;--&gt;\n\n    &lt;select id=\"selectAll\" resultType=\"dataReceiver.Brand\"&gt;\n        select id,brand_name as BrandName,company_name as companyName,ordered,description,status from tb_brand;\n    &lt;\/select&gt;\n&lt;\/mapper&gt;<\/code><\/pre>\n\n\n\n<p>\u5c06sql\u7247\u6bb5\u5b58\u50a8\u4e3a\u522b\u540d\u65b9\u4fbf\u8c03\u7528<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\" ?&gt;\n&lt;!DOCTYPE mapper\n        PUBLIC \"-\/\/mybatis.org\/\/DTD Mapper 3.0\/\/EN\"\n        \"https:\/\/mybatis.org\/dtd\/mybatis-3-mapper.dtd\"&gt;\n&lt;mapper namespace=\"mapper.BrandMapper\"&gt;\n    &lt;!--&lt;select id=\"selectAll\" resultType=\"dataReceiver.Brand\"&gt;\n        select * from tb_brand;\n    &lt;\/select&gt;--&gt;\n    &lt;sql id=\"brand_column\"&gt;\n        id,brand_name as BrandName,company_name as companyName,ordered,description,status\n    &lt;\/sql&gt;\n    &lt;select id=\"selectAll\" resultType=\"dataReceiver.Brand\"&gt;\n        select &lt;include refid=\"brand_column\"\/&gt; from tb_brand;\n    &lt;\/select&gt;\n&lt;\/mapper&gt;<\/code><\/pre>\n\n\n\n<p>2 resultmap<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\" ?&gt;\n&lt;!DOCTYPE mapper\n        PUBLIC \"-\/\/mybatis.org\/\/DTD Mapper 3.0\/\/EN\"\n        \"https:\/\/mybatis.org\/dtd\/mybatis-3-mapper.dtd\"&gt;\n&lt;mapper namespace=\"mapper.BrandMapper\"&gt;\n\n    \/\/id\u552f\u4e00\u6807\u8bc6\uff0ctype\u6620\u5c04\u7684\u7c7b\u578b\uff0cid\uff08\u4e3b\u952e\uff09\uff0cresult\uff08\u666e\u901a\u5b57\u6bb5\uff09\uff0ccolumn\u6570\u636e\u5e93\u5b57\u6bb5\u540d\uff0cproperty\u522b\u540d\n    &lt;resultMap id=\"brandResultMap\" type=\"dataReceiver.Brand\"&gt;\n        &lt;result column=\"brand_name\" property=\"brandName\" \/&gt;\n        &lt;result column=\"company_name\" property=\"companyName\" \/&gt;\n    &lt;\/resultMap&gt;\n    &lt;select id=\"selectAll\" resultMap=\"brandResultMap\"&gt;\n        select * from tb_brand;\n    &lt;\/select&gt;\n&lt;\/mapper&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"> \u67e5\u8be2\u65f6\u63a5\u6536\u53c2\u6570<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/BrandMapper.xml \n   &lt;select id=\"selectById\" resultMap=\"brandResultMap\"&gt;\n\n        \/\/#{}\u66ff\u6362\u4e3a\uff1f\u9632\u6b62\u6ce8\u5165\n        \/\/${}\u62fcsql\uff0c\u5b58\u5728\u88ab\u6ce8\u5165\uff0c\u53ef\u7528\u4e8e\u52a8\u6001\u8868\u540d\n        select * from tb_brand where id = #{id};\n    &lt;\/select&gt;\n    \/\/\u53ef\u4ee5\u8bbe\u7f6e\u4f20\u5165\u53d8\u91cf\u7c7b\u578b\n    &lt;select id=\"selectById\" parameterType=\"int\" resultMap=\"brandResultMap\"&gt;\n\/\/BrandMapper\n    \/\/public\u53ef\u4ee5\u4e0d\u5199\n     Brand selectById(int id);\n\/\/MyBatisTest\n@Test\n    public void testSelectById() throws IOException {\n        \/\/\u63a5\u53d7\u53c2\u6570\n        int id = 1;\n\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        Brand brand = brandMapper.selectById(1);\n        System.out.println(brand);\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u7279\u6b8a\u5b57\u7b26\u5904\u7406<\/h3>\n\n\n\n<p>xml\u4e2d &lt;\u53f7\u65e0\u6cd5\u76f4\u63a5\u4f7f\u7528<\/p>\n\n\n\n<p>1 \u8f6c\u4e49\u5b57\u7b26 &amp;lt;<\/p>\n\n\n\n<p>2 CDATA\u533a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    &lt;select id=\"selectById\" parameterType=\"int\" resultMap=\"brandResultMap\"&gt;\n        select * from tb_brand where id \n        &lt;!&#91;CDATA&#91;\n            &lt;\n        ]]&gt;\n        #{id};\n    &lt;\/select&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u6761\u4ef6\u67e5\u8be2<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"http:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-15-1024x576.png\" alt=\"\" class=\"wp-image-590\" srcset=\"https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-15-1024x576.png 1024w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-15-300x169.png 300w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-15-768x432.png 768w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-15.png 1368w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p> \u65b9\u6cd51 \u51fd\u6570\u8bbe\u7f6e\u6ce8\u89e3Param<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/BrandMapper.xml\n    &lt;!--\u6761\u4ef6\u67e5\u8be2--&gt;\n     &lt;select id=\"selectByCondition\" resultMap=\"brandResultMap\"&gt;\n         select * from tb_brand where\n                status = #{status}\n            and company_name like #{companyName}\n            and brand_name like #{brandName}\n     &lt;\/select&gt;\n\/\/BrandMapper\n     List&lt;Brand&gt; selectByCondition(@Param(\"status\") int status,\n                                   @Param(\"companyName\") String companyName,\n                                   @Param(\"brandName\") String brandName);\n\/\/MyBatisTest\n @Test\n    public void testSelectByCondition() throws IOException {\n        \/\/\u63a5\u53d7\u53c2\u6570\n        int status = 1;\n        String companyName = \"\u534e\u4e3a\";\n        String brandName = \"\u534e\u4e3a\";\n        companyName = \"%\" + companyName + \"%\";\n        brandName = \"%\" +brandName + \"%\";\n\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        List&lt;Brand&gt; brands = brandMapper.selectByCondition(status,companyName,brandName);\n        System.out.println(brands);\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }<\/code><\/pre>\n\n\n\n<p>\u65b9\u6cd52 \u4f20\u5165\u5bf9\u8c61<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/BrandMapper\n    List&lt;Brand&gt; selectByCondition(Brand brand);\n\/\/MyBatisTest\n@Test\n    public void testSelectByCondition() throws IOException {\n        \/\/\u63a5\u53d7\u53c2\u6570\n        int status = 1;\n        String companyName = \"\u534e\u4e3a\";\n        String brandName = \"\u534e\u4e3a\";\n        companyName = \"%\" + companyName + \"%\";\n        brandName = \"%\" +brandName + \"%\";\n\n        \/\/\u5c01\u88c5\u5bf9\u8c61\n        Brand brand = new Brand();\n        brand.setStatus(status);\n        brand.setCompanyName(companyName);\n        brand.setBrandName(brandName);\n\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        List&lt;Brand&gt; brands = brandMapper.selectByCondition(brand);\n        System.out.println(brands);\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }<\/code><\/pre>\n\n\n\n<p>3  \u4f7f\u7528map\u96c6\u5408<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/BrandMapper\n    List&lt;Brand&gt; selectByCondition(Map brand);\n\/\/MyBatisTest\n    @Test\n    public void testSelectByCondition() throws IOException {\n        \/\/\u63a5\u53d7\u53c2\u6570\n        int status = 1;\n        String companyName = \"\u534e\u4e3a\";\n        String brandName = \"\u534e\u4e3a\";\n        companyName = \"%\" + companyName + \"%\";\n        brandName = \"%\" +brandName + \"%\";\n\n\/*        \/\/\u5c01\u88c5\u5bf9\u8c61\n        Brand brand = new Brand();\n        brand.setStatus(status);\n        brand.setCompanyName(companyName);\n        brand.setBrandName(brandName);*\/\n\n        Map map = new HashMap();\n        map.put(\"status\",status);\n        map.put(\"companyName\",companyName);\n        map.put(\"brandName\",brandName);\n\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        List&lt;Brand&gt; brands = brandMapper.selectByCondition(map);\n        System.out.println(brands);\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u52a8\u6001\u6761\u4ef6\u67e5\u8be2<\/h3>\n\n\n\n<p>\u591a\u6761\u4ef6\u52a8\u6001\u67e5\u8be2<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/BrandMapper.xml\n    &lt;!-- \u52a8\u6001\u6761\u4ef6\u67e5\u8be2--&gt;\n    &lt;select id=\"selectByCondition\" resultMap=\"brandResultMap\"&gt;\n         select * from tb_brand where\n            &lt;if test=\"status != null\"&gt;\n                status = #{status}\n            &lt;\/if&gt;\n            &lt;if test=\"companyName != null and companyName != '' \"&gt;\n                and company_name like #{companyName}\n            &lt;\/if&gt;\n            &lt;if test=\"brandName != null and brandName != '' \"&gt;\n                and brand_name like #{brandName}\n            &lt;\/if&gt;\n     &lt;\/select&gt;\n\/\/MyBatisTest\n@Test\n    public void testSelectByCondition() throws IOException {\n        \/\/\u63a5\u53d7\u53c2\u6570\n        int status = 1;\n        String companyName = \"\";\n        String brandName = \"\";\n        companyName = \"%\" + companyName + \"%\";\n        brandName = \"%\" +brandName + \"%\";\n\n\/*        \/\/\u5c01\u88c5\u5bf9\u8c61\n        Brand brand = new Brand();\n        brand.setStatus(status);\n        brand.setCompanyName(companyName);\n        brand.setBrandName(brandName);*\/\n\n        Map map = new HashMap();\n        map.put(\"status\",status);\n        map.put(\"companyName\",companyName);\n        map.put(\"brandName\",brandName);\n\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        List&lt;Brand&gt; brands = brandMapper.selectByCondition(map);\n        System.out.println(brands);\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }<\/code><\/pre>\n\n\n\n<p>\u95ee\u9898\uff1a\u5f53status\u4e0d\u5b58\u5728\u800c\u540e\u8005\u6761\u4ef6\u5b58\u5728\u65f6\u4f1a\u5bfc\u81f4sql\u8bed\u53e5\u591a\u4e86and\u4ece\u800c\u62a5\u9519<\/p>\n\n\n\n<p>\u89e3\u51b3\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<p>1 \u5728where\u540e\u6dfb\u52a01=1\u7684\u6052\u7b49\u5f0f<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"658\" src=\"http:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-16-1024x658.png\" alt=\"\" class=\"wp-image-591\" srcset=\"https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-16-1024x658.png 1024w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-16-300x193.png 300w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-16-768x493.png 768w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-16.png 1090w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>2&lt;where&gt; \u66ff\u4ee3 where<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    &lt;!--\u6761\u4ef6\u67e5\u8be2--&gt;\n     &lt;select id=\"selectByCondition\" resultMap=\"brandResultMap\"&gt;\n         select * from tb_brand\n         &lt;where&gt;\n             &lt;if test=\"status != null\"&gt;\n                 status = #{status}\n             &lt;\/if&gt;\n             &lt;if test=\"companyName != null and companyName != '' \"&gt;\n                 and company_name like #{companyName}\n             &lt;\/if&gt;\n             &lt;if test=\"brandName != null and brandName != '' \"&gt;\n                 and brand_name like #{brandName}\n             &lt;\/if&gt;\n         &lt;\/where&gt;\n     &lt;\/select&gt;<\/code><\/pre>\n\n\n\n<p>\u5355\u6761\u4ef6\u52a8\u6001\u67e5\u8be2<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/BrandMapper.xml\n\n    &lt;select id=\"selectByConditionSingle\" resultMap=\"brandResultMap\"&gt;\n        select *\n        from tb_brand\n        &lt;where&gt;\n            &lt;choose&gt;\n                &lt;when test=\"status !=null\"&gt;\n                    status = #{status}\n                &lt;\/when&gt;\n                &lt;when test=\"companyName != null and companyName != '' \"&gt;\n                    company_name like #{companyName}\n                &lt;\/when&gt;\n                &lt;when test=\"brandName != null and brandName != '' \"&gt;\n                    brand_name like #{brandName}\n                &lt;\/when&gt;\n            &lt;\/choose&gt;\n        &lt;\/where&gt;\n    &lt;\/select&gt;\n\/\/MyBatisTest.java\n@Test\n    public void testSelectByConditionSingle() throws IOException {\n        \/\/\u63a5\u53d7\u53c2\u6570\n        int status = 1;\n        String companyName = \"\u5c0f\u7c73\";\n        String brandName = \"\";\n        companyName = \"%\" + companyName + \"%\";\n        brandName = \"%\" +brandName + \"%\";\n\n        \/\/\u5c01\u88c5\u5bf9\u8c61\n        Brand brand = new Brand();\n        brand.setStatus(status);\n        \/\/brand.setCompanyName(companyName);\n        \/\/brand.setBrandName(brandName);\n\n\/*        Map map = new HashMap();\n        map.put(\"status\",status);\n        map.put(\"companyName\",companyName);\n        map.put(\"brandName\",brandName);*\/\n\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        List&lt;Brand&gt; brands = brandMapper.selectByConditionSingle(brand);\n        System.out.println(brands);\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"> \u6dfb\u52a0<\/h3>\n\n\n\n<p>\u4e00\u76f4\u5728\u7591\u60d1\u4e3a\u4ec0\u4e48\u6211\u7684IDE\u4e0d\u80fd\u81ea\u52a8\u7ed9sql\u8865\u5168\uff0c\u539f\u6765\u8981\u6309\u4f4falt+enter\u9009\u62e9\u8bed\u8a00\u8bf8\u5982\u8bbe\u7f6e\u4e3apostgresql<\/p>\n\n\n\n<p>\u6ce8\u610f\u662f\u5426\u8bbe\u7f6e\u81ea\u52a8\u63d0\u4ea4\u4e8b\u52a1 <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/brandMapper.java\n    \/\/\u6dfb\u52a0\n    void add(Brand brand);\n\/\/brandMapper.xml\n    &lt;insert id=\"add\"&gt;\n        insert into tb_brand (brand_name, company_name, ordered, description, status)\n        values (#{brandName},#{companyName},#{ordered},#{description},#{status});\n    &lt;\/insert&gt;\n\/\/MyBatisTest.java\n@Test\n    public void testAdd() throws IOException {\n        \/\/\u63a5\u53d7\u53c2\u6570\n        int status = 1;\n        String companyName = \"\u963f\u5df4\u963f\u5df4\";\n        String brandName = \"\u963f\u5df4\";\n        String description = \"hahah\";\n        int order = 100;\n\n        \/\/\u5c01\u88c5\u5bf9\u8c61\n        Brand brand = new Brand();\n        brand.setStatus(status);\n        brand.setCompanyName(companyName);\n        brand.setBrandName(brandName);\n        brand.setOrdered(order);\n        brand.setDescription(description);\n\n        \/*        Map map = new HashMap();\n        map.put(\"status\",status);\n        map.put(\"companyName\",companyName);\n        map.put(\"brandName\",brandName);*\/\n\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n        \/\/\u81ea\u52a8\u63d0\u4ea4\u4e8b\u52a1\n        \/\/SqlSession sqlSession = sqlSessionFactory.openSession(true);\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        brandMapper.add(brand);\n\n        \/\/\u63d0\u4ea4\u4e8b\u52a1\n        sqlSession.commit();\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }<\/code><\/pre>\n\n\n\n<p>\u6dfb\u52a0\u65f6\u83b7\u53d6\u4e3b\u952e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/brandMapper.xml\n    &lt;insert id=\"add\" useGeneratedKeys=\"true\" keyProperty=\"id\"&gt;\n        insert into tb_brand (brand_name, company_name, ordered, description, status)\n        values (#{brandName},#{companyName},#{ordered},#{description},#{status});\n    &lt;\/insert&gt;\n\/\/MyBatisTest.java\n@Test\n    public void testAdd() throws IOException {\n        \/\/\u63a5\u53d7\u53c2\u6570\n        int status = 1;\n        String companyName = \"\u963f\u5df4\u963f\u5df4\";\n        String brandName = \"\u963f\u5df4\";\n        String description = \"hahah\";\n        int order = 100;\n\n        \/\/\u5c01\u88c5\u5bf9\u8c61\n        Brand brand = new Brand();\n        brand.setStatus(status);\n        brand.setCompanyName(companyName);\n        brand.setBrandName(brandName);\n        brand.setOrdered(order);\n        brand.setDescription(description);\n\n        \/*        Map map = new HashMap();\n        map.put(\"status\",status);\n        map.put(\"companyName\",companyName);\n        map.put(\"brandName\",brandName);*\/\n\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n        \/\/\u81ea\u52a8\u63d0\u4ea4\u4e8b\u52a1\n        \/\/SqlSession sqlSession = sqlSessionFactory.openSession(true);\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        brandMapper.add(brand);\n        int id = brand.getId();\n        System.out.println(id);\n\n        \/\/\u63d0\u4ea4\u4e8b\u52a1\n        sqlSession.commit();\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u4fee\u6539<\/h3>\n\n\n\n<p>\u4fee\u6539\u5168\u90e8\u5b57\u6bb5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/brandMapper.java\n    int update(Brand brand);\n\/\/brandMapper.xml\n    &lt;update id=\"update\"&gt;\n        update tb_brand\n        set brand_name = #{brandName},\n            company_name = #{companyName},\n            ordered = #{ordered},\n            description = #{description},\n            status = #{status}\n        where id = #{id};\n    &lt;\/update&gt;\n\/\/MyBatisTest.java\n    @Test\n    public void testUpdate() throws IOException {\n        \/\/\u63a5\u53d7\u53c2\u6570\n        int status = 1;\n        String companyName = \"\u963f\u5df4\u963f\u5df4111\";\n        String brandName = \"\u963f\u5df4\";\n        String description = \"hahah\";\n        int order = 200;\n        int id = 7;\n\n        \/\/\u5c01\u88c5\u5bf9\u8c61\n        Brand brand = new Brand();\n        brand.setStatus(status);\n        brand.setCompanyName(companyName);\n        brand.setBrandName(brandName);\n        brand.setOrdered(order);\n        brand.setDescription(description);\n        brand.setId(id);\n\n        \/*        Map map = new HashMap();\n        map.put(\"status\",status);\n        map.put(\"companyName\",companyName);\n        map.put(\"brandName\",brandName);*\/\n\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n        \/\/\u81ea\u52a8\u63d0\u4ea4\u4e8b\u52a1\n        \/\/SqlSession sqlSession = sqlSessionFactory.openSession(true);\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        int count = brandMapper.update(brand);\n        System.out.println(count);\n\n        \/\/\u63d0\u4ea4\u4e8b\u52a1\n        sqlSession.commit();\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }<\/code><\/pre>\n\n\n\n<p>\u52a8\u6001\u5b57\u6bb5\u4fee\u6539<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/brandMapper.xml\n &lt;update id=\"update\"&gt;\n        update tb_brand\n        &lt;set&gt;\n            &lt;if test=\"brandName!=null and brandName!=''\"&gt;\n                brand_name = #{brandName},\n            &lt;\/if&gt;\n            &lt;if test=\"companyName!=null and companyName!=''\"&gt;\n                company_name = #{companyName},\n            &lt;\/if&gt;\n            &lt;if test=\"ordered!=null\"&gt;\n                ordered = #{ordered},\n            &lt;\/if&gt;\n            &lt;if test=\"description != null and description != ''\"&gt;\n                description = #{description},\n            &lt;\/if&gt;\n            &lt;if test=\"status != null\"&gt;\n                status = #{status}\n            &lt;\/if&gt;\n        &lt;\/set&gt;\n    where id = #{id};\n    &lt;\/update&gt;\n\/\/myBatisTest\n @Test\n    public void testUpdate() throws IOException {\n        \/\/\u63a5\u53d7\u53c2\u6570\n        int status = 0;\n        String companyName = \"\u963f\u5df4\u963f\u5df4111\";\n        String brandName = \"\u963f\u5df4\";\n        String description = \"hahah\";\n        int order = 200;\n        int id = 7;\n\n        \/\/\u5c01\u88c5\u5bf9\u8c61\n        Brand brand = new Brand();\n        brand.setStatus(status);\n\/*        brand.setCompanyName(companyName);\n        brand.setBrandName(brandName);\n        brand.setOrdered(order);\n        brand.setDescription(description);*\/\n        brand.setId(id);\n\n        \/*        Map map = new HashMap();\n        map.put(\"status\",status);\n        map.put(\"companyName\",companyName);\n        map.put(\"brandName\",brandName);*\/\n\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n        \/\/\u81ea\u52a8\u63d0\u4ea4\u4e8b\u52a1\n        \/\/SqlSession sqlSession = sqlSessionFactory.openSession(true);\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        int count = brandMapper.update(brand);\n        System.out.println(count);\n\n        \/\/\u63d0\u4ea4\u4e8b\u52a1\n        sqlSession.commit();\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u5220\u9664<\/h3>\n\n\n\n<p>\u5355\u4e2a\u5220\u9664<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/brandMapper.java\n    void deleteById(int id);\n\/\/brandMapper.xml\n    &lt;delete id=\"deleteById\"&gt;\n        delete from tb_brand where id = #{id};\n    &lt;\/delete&gt;\n\/\/myBatisTest\n@Test\n    public void testDeleteById() throws IOException {\n        \/\/\u63a5\u53d7\u53c2\u6570\n\n        int id = 7;\n\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n        \/\/\u81ea\u52a8\u63d0\u4ea4\u4e8b\u52a1\n        \/\/SqlSession sqlSession = sqlSessionFactory.openSession(true);\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        brandMapper.deleteById(id);\n\n        \/\/\u63d0\u4ea4\u4e8b\u52a1\n        sqlSession.commit();\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }<\/code><\/pre>\n\n\n\n<p>\u591a\u4e2a\u5220\u9664<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/brandMapper.java\n    void deleteByIds(@Param(\"ids\") int&#91;] ids);\n\/\/brandMapper.xml\n    &lt;!--mybatis\u4f1a\u5c06\u6570\u7ec4\u53c2\u6570\u5c01\u88c5\u4e3a\u4e00\u4e2aMap\u96c6\u5408\n        \u9ed8\u8ba4array=\u6570\u7ec4\n        \u53ef\u4ee5\u7528@Param\u6ce8\u91ca\u6539\u53d8map\u96c6\u5408\u7684\u9ed8\u8ba4key\u7684\u540d\u79f0\n    --&gt;\n    &lt;delete id=\"deleteByIds\"&gt;\n        delete from tb_brand where id\n        in\n            &lt;foreach collection=\"ids\" item=\"id\" separator=\",\" open=\"(\" close=\")\"&gt;\n                #{id}\n            &lt;\/foreach&gt;\n        ;\n    &lt;\/delete&gt;\n\/\/myBatisTest\n @Test\n    public void testDeleteByIds() throws IOException {\n        \/\/\u63a5\u53d7\u53c2\u6570\n        int&#91;] ids = {11,12};\n\n        \/\/\u52a0\u8f7dmybtis\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u83b7\u53d6sqlSessionFactory\n        String resource = \"mybatis-config.xml\";\n        InputStream inputStream = Resources.getResourceAsStream(resource);\n        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);\n\n        \/\/\u83b7\u53d6sqlSession\u5bf9\u8c61\uff0c\u7528\u5b83\u6267\u884csql\n        SqlSession sqlSession = sqlSessionFactory.openSession();\n        \/\/\u81ea\u52a8\u63d0\u4ea4\u4e8b\u52a1\n        \/\/SqlSession sqlSession = sqlSessionFactory.openSession(true);\n\n        \/\/\u83b7\u53d6Mapper\u63a5\u53e3\u7684\u4ee3\u7406\u5bf9\u8c61\n        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);\n\n        \/\/\u6267\u884c\u65b9\u6cd5\n        brandMapper.deleteByIds(ids);\n\n        \/\/\u63d0\u4ea4\u4e8b\u52a1\n        sqlSession.commit();\n\n        \/\/\u91ca\u653e\u8d44\u6e90\n        sqlSession.close();\n    }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u6ce8\u89e3\u5f00\u53d1<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"336\" src=\"http:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-17.png\" alt=\"\" class=\"wp-image-594\" srcset=\"https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-17.png 758w, https:\/\/www.gislxz.com\/wp-content\/uploads\/2022\/11\/image-17-300x133.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Maven\u53caMyBatis\u5b66\u4e60\u7b14\u8bb0<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[23],"tags":[],"class_list":["post-577","post","type-post","status-publish","format-standard","hentry","category-java"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gislxz.com\/index.php\/wp-json\/wp\/v2\/posts\/577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gislxz.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gislxz.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gislxz.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gislxz.com\/index.php\/wp-json\/wp\/v2\/comments?post=577"}],"version-history":[{"count":8,"href":"https:\/\/www.gislxz.com\/index.php\/wp-json\/wp\/v2\/posts\/577\/revisions"}],"predecessor-version":[{"id":640,"href":"https:\/\/www.gislxz.com\/index.php\/wp-json\/wp\/v2\/posts\/577\/revisions\/640"}],"wp:attachment":[{"href":"https:\/\/www.gislxz.com\/index.php\/wp-json\/wp\/v2\/media?parent=577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gislxz.com\/index.php\/wp-json\/wp\/v2\/categories?post=577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gislxz.com\/index.php\/wp-json\/wp\/v2\/tags?post=577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}