好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

JAVA MyBatis入门学习过程记录

一、Mybatis

1、mybatis-config.xml

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<? 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 >

<!--    外部引入db-->

     < properties resource = "db.properties" />

     < settings >

<!--        配置日志文件-->

<!--        <setting name="logImpl" value="STDOUT_LOGGING"/>-->

         < setting name = "logImpl" value = "log4j" />

<!--        开启A_NAME==>aName-->        

         < setting name = "mapUnderscoreToCamelCase" valie = "true"

     </settings>

<!--   减少类型-->

     < typeAliases >        < typeAlias type = "com.wang.pojo.User" alias = "User" />

     </ typeAliases >

     < environments default = "development" >

         < environment id = "development" >

             < transactionManager type = "JDBC" />

             < dataSource type = "POOLED" >

                 < property name = "driver" value = "${driver}" />

                 < property name = "url" value = "${url}" />

                 < property name = "username" value = "${username}" />

                 < property name = "password" value = "${password}" />

             </ dataSource >

         </ environment >

     </ environments >

     < mappers >

         < mapper resource = "com/wang/dao/UserMapper.xml" />

     </ mappers >

</ configuration >

2、Mapper.xml

?

1

2

3

4

5

6

7

8

9

<? 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.wang.dao.UserDao" >

     < select id = "getUserList" resultType = "User" >

         select * from mybatis.user

     </ select >

</ mapper >

3、db.properties

?

1

2

3

4

driver=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/mybatis

username=root

password=123456

4、MybatisUtils工具类

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

package com.wang.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 {

         InputStream inputStream = null ;

         try {

             String resource = "mybatis-config.xml" ;

             inputStream = Resources.getResourceAsStream(resource);

             sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

         } catch (IOException e) {

             e.printStackTrace();

         }

     }

     public static SqlSession getsqlsession() {

         return sqlSessionFactory.openSession();

     }

}

5、多对一AND多对一:

在Mapper.xml中配置

association 对象 多对一

collection 集合 一对多

从用参数解释:

 javaType java类型 ofType 泛型约束类型

6、使用注解开发

可在接口中使用注解进行开发,省去Mapper.xml

?

1

2

@Select("select * from mybatis.User")

List< User > getUserList();

?

1

2

3

4

在mybatis-config.xml中配置

< mappers >

         < mapper class = "com.wang.Dao.UserMapper"

</mappers>

7、自定义缓存:ehcache

8、mybatis 其他工具

mybatis Hepler:https://pagehelper.github.io/

二、MAVEN资源导出错误解决

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<build>

         <resources>

             <resource>

                 <directory>src/main/resources</directory>

                 <includes>

                     <include>** /*.properties</include>

                     <include>**/*.xml</include>

                 </includes>

                 <filtering>true</filtering>

             </resource>

             <resource>

                 <directory>src/main/java</directory>

                 <includes>

                     <include>**/*.properties</include>

                     <include>**/ *.xml</include>

                 </includes>

                 <filtering> true </filtering>

             </resource>

         </resources>

     </build>

三、常用依赖导入

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

     <!--导入依赖-->

     < dependencies >

         <!--    mysql-->

         < dependency >

             < groupId >mysql</ groupId >

             < artifactId >mysql-connector-java</ artifactId >

             < version >5.1.49</ version >

         </ dependency >

         <!--        mybatis-->

         < dependency >

             < groupId >org.mybatis</ groupId >

             < artifactId >mybatis</ artifactId >

             < version >3.5.2</ version >

         </ dependency >

         <!--        junit-->

         < dependency >

             < groupId >junit</ groupId >

             < artifactId >junit</ artifactId >

             < version >4.13</ version >

         </ dependency >

<!--        lombok-->

         < dependency >

             < groupId >org.projectlombok</ groupId >

             < artifactId >lombok</ artifactId >

             < version >1.18.20</ version >

         </ dependency >

<!--        servlet and jsp-->

         < dependency >

             < groupId >org.mortbay.jetty</ groupId >

             < artifactId >servlet-api-2.5</ artifactId >

             < version >6.1.7</ version >

         </ dependency >

         < dependency >

             < groupId >javax.servlet.jsp</ groupId >

             < artifactId >jsp-api</ artifactId >

             < version >2.1</ version >

         </ dependency >

<!--        standard-->     

         < dependency >

             < groupId >org.apache.karaf.assemblies.features</ groupId >

             < artifactId >standard</ artifactId >

             < version >2.4.4</ version >

         </ dependency >

         < dependency >

             < groupId >taglibs</ groupId >

             < artifactId >standard</ artifactId >

             < version >1.1.2</ version >

         </ dependency >

<!--        jstl-->       

         < dependency >

             < groupId >javax.servlet.jsp.jstl</ groupId >

             < artifactId >jstl-api</ artifactId >

             < version >1.2</ version >

         </ dependency >

         < dependency >

             < groupId >org.glassfish.web</ groupId >

             < artifactId >jstl-impl</ artifactId >

             < version >1.2</ version >

         </ dependency >

  <!--        fastjson-->    

         < dependency >

             < groupId >com.alibaba</ groupId >

             < artifactId >fastjson</ artifactId >

             < version >1.2.76</ version >

         </ dependency >

         <!--Log4j-->

         < dependency >

             < groupId >log4j</ groupId >

             < artifactId >log4j</ artifactId >

             < version >1.2.17</ version >

         </ dependency >

     </ dependencies >

四、LOG4J

1、log4j.properties 配置文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

     <!--导入依赖-->

     <dependencies>

         <!--    mysql-->

         <dependency>

             <groupId>mysql</groupId>

             <artifactId>mysql-connector-java</artifactId>

             <version>5.1.49</version>

         </dependency>

         <!--        mybatis-->

         <dependency>

             <groupId>org.mybatis</groupId>

             <artifactId>mybatis</artifactId>

             <version>3.5.2</version>

         </dependency>

         <!--        junit-->

         <dependency>

             <groupId>junit</groupId>

             <artifactId>junit</artifactId>

             <version>4.13</version>

         </dependency>

<!--        lombok-->

         <dependency>

             <groupId>org.projectlombok</groupId>

             <artifactId>lombok</artifactId>

             <version>1.18.20</version>

         </dependency>

<!--        servlet and jsp-->

         <dependency>

             <groupId>org.mortbay.jetty</groupId>

             <artifactId>servlet-api-2.5</artifactId>

             <version>6.1.7</version>

         </dependency>

         <dependency>

             <groupId>javax.servlet.jsp</groupId>

             <artifactId>jsp-api</artifactId>

             <version>2.1</version>

         </dependency>

<!--        standard-->    

         <dependency>

             <groupId>org.apache.karaf.assemblies.features</groupId>

             <artifactId>standard</artifactId>

             <version>2.4.4</version>

         </dependency>

         <dependency>

             <groupId>taglibs</groupId>

             <artifactId>standard</artifactId>

             <version>1.1.2</version>

         </dependency>

<!--        jstl-->      

         <dependency>

             <groupId>javax.servlet.jsp.jstl</groupId>

             <artifactId>jstl-api</artifactId>

             <version>1.2</version>

         </dependency>

         <dependency>

             <groupId>org.glassfish.web</groupId>

             <artifactId>jstl-impl</artifactId>

             <version>1.2</version>

         </dependency>

  <!--        fastjson-->   

         <dependency>

             <groupId>com.alibaba</groupId>

             <artifactId>fastjson</artifactId>

             <version>1.2.76</version>

         </dependency>

         <!--Log4j-->

         <dependency>

             <groupId>log4j</groupId>

             <artifactId>log4j</artifactId>

             <version>1.2.17</version>

         </dependency>

     </dependencies>

2、log4j 在mybatis-config.xml的配置

?

1

2

3

< settings >

         < setting name = "logImpl" value = "LOG4J" />

</ settings >

3、使用场景

在具体类中引入

?

1

2

3

Logger logger = Logger.getLogger(UserDaoTest. class );

logger.error();

logger.debug();

好用的插件:

1、lombok

常用注解:

@Data 自动生成geter seter @AllArgsConstructor 生成有参构造函数 @NoArgsConstructor 生成无参构造函数

=[logImpl] value=[LOG4J]/>

?

1

2

3

4

5

6

7

8

## 3 、使用场景

 

- 在具体类中引入

 

   ```java

   Logger logger = Logger.getLogger(UserDaoTest. class );

   logger.error();

   logger.debug();

常用注解:

@Data 自动生成geter seter @AllArgsConstructor 生成有参构造函数 @NoArgsConstructor 生成无参构造函数

总结

本篇文章就到这里了,希望能够给大家带来帮助,也希望您能够能够多多关注的更多内容!

原文链接:https://blog.csdn.net/weixin_50738670/article/details/117933388

查看更多关于JAVA MyBatis入门学习过程记录的详细内容...

  阅读:15次