mysql写第一个程序_第一个MyBatis程序(博客初写者)

第一个Mybatis程序

一、环境:

1、JDK1.8

2、MYSQL5.7

3、IDEA

4、MAVEN 3.63

二、Mybatis认识:

1、查看官方文档

2、查看百度百科

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或 注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

3、什么是持久层框架:

所谓"持久"就是将数据保存到可掉电式存储设备中以便今后使用,简单的说,就是将内存中的数据保存到关系型数据库、文件系统、消息队列等提供持久化支持的设备中。

持久层就是系统中专注于实现数据持久化的相对独立的层面。

持久层设计的目标包括:

- 数据存储逻辑的分离,提供抽象化的数据访问接口。

- 数据访问底层实现的分离,可以在不修改代码的情况下切换底层实现。

- 资源管理和调度的分离,在数据访问层实现统一的资源调度(如缓存机制)。

- 数据抽象,提供更面向对象的数据操作。

二、搭建环境:

1、新建一个maven 在pom.xml中导入依赖(mysql驱动、mybatis、junit)

1

2

3

4 mysql

5 mysql-connector-java

6 5.1.47

7

8

9

10 org.mybatis

11 mybatis

12 3.5.2

13

14

15

16 junit

17 junit

18 4.11

19 test

20

21

2、连接数据库(database->mysql)必须mysql已经安装配置

mysql写第一个程序_第一个MyBatis程序(博客初写者)_第1张图片

3、mybatis 核心文件的配置 -->resources -> mybatis-config.xml

1

2 /p>

4 "http://mybatis.org/dtd/mybatis-3-config.dtd">

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

4、创建 工具类 com.guo.untiul ->MybatishUtils

1 pcublic clnassMybaatisUtiils {j2n public staticSqlSessionFactory sqlSessionFactory;3 static{4 try{5 String resource = "mybatis-config.xml";6 InputStream inputStream =Resources.getResourceAsStream(resource);7 sqlSessionFactory = newSqlSessionFactoryBuilder().build(inputStream);8 } catch(IOException e) {9 e.printStackTrace();10 }11 }12

13 //创建SqlSession 的实例

14 public staticSqlSession getSqlSession(){15 returnsqlSessionFactory.openSession();16 }17 }

三、编写代码:

1、创建实体类  com.guo.pojo->User

1 public classUser {2 private intid;3 privateString username;4 privateString password;5

6 publicUser() {7 }8

9 public User(intid, String username, String password) {10 this.id =id;11 this.username =username;12 this.password =password;13 }14

15 @Override16 publicString toString() {17 return "User{" +

18 "id=" + id +

19 ", username='" + username + '\'' +

20 ", password='" + password + '\'' +

21 '}';22 }23

24 public intgetId() {25 returnid;26 }27

28 public void setId(intid) {29 this.id =id;30 }31

32 publicString getUsername() {33 returnusername;34 }35

36 public voidsetUsername(String username) {37 this.username =username;38 }39

40 publicString getPassword() {41 returnpassword;42 }43

44 public voidsetPassword(String password) {45 this.password =password;46 }47 }

2、创建接口 com.guo.dao->UserMapper

1 public interfaceUserMapper {2 ListgetUserList();3 }

3、创建sql语句映射文件com.guo.dao->UserMapper.xml(有之前的实现Dao接口DaoImpl转为Mapper.xml)

1

2 /p>

4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

5

6

7

8 select *from student.user9

10

4、编写测试类:在test文件夹创建测试类com.guo.dao->UserMapperTest

1 public classUserMapperTest {2 @Test3 public voidtest(){4 //获取SqlSession对象

5 SqlSession sqlSession =MybatisUtils.getSqlSession();6 UserMapper userMapper = sqlSession.getMapper(UserMapper.class);7 List userList =userMapper.getUserList();8 for(User user : userList) {9 System.out.println(user);10 }11

12 //关闭SqlSession对象

13 sqlSession.close();14 }15 }

这样子还是不能获取数据库数据,还会有什么异常,让我们来分析下原因:

四、异常处理:

1、BindingException:(绑定异常)

解决方法:在resources -> mybatis-config.xml配置maven

1

2

3

2、ExceptionInInitializerError:(初始化异常)

解决方法:在pom.xml文件中增加资源过滤

1

2

3

4 src/main/java

5

6 **/*.properties7 **/*.xml

8

9 false

10

11

12 src/main/resources

13

14 **/*.properties15 **/*.xml

16

17 false

18

19

20

五、结果:

mysql写第一个程序_第一个MyBatis程序(博客初写者)_第2张图片

你可能感兴趣的:(mysql写第一个程序)