关注分享主机优惠活动
国内外VPS云服务器

JAVA学习笔记036-第一个简单的Mybatis程序(代码验证)

摘要:目的创建一个简单的框架程序,实现对数据库的读取操作。核心配置文件,核心配置文件,配置数据库连接信息等等都需要在核心配置文件中注册工具类才能获得获取对象的第一步。顾名思义,我们可以从中获取实例。

目的:创建一个简单的Mybatis框架程序来读取数据库。数据表user,包含三个属性和几个数据,通过程序打印在控制台上。

开发工具:IDEA,用maven管理资源。思路:构建环境->导入Mybatis-->写代码->测试。

一、搭建环境:1。创建数据表

创建数据库“mybatis ”;使用“mybatis ”;创建表` user`( `id` INT(20) NOT NULL主键,` name` VARCHAR(30) DEFAULT NULL,pwd ` VARCHAR(30)DEFAULT NULL)engine = innodb DEFAULT charset = utf8 insert into ` user `( ` id `,` name `,` pwd`) values (1," Zhang Maven "," 13212 "),(2," Li Si "," 13 sas .

3.删除src目录(将此项目作为父项目)

4.导入maven依赖项。将所需的依赖包信息添加到pom.xml中。

MySQL MySQL -connector -Java 5 . 1 . 47 org . mybatis mybatis 3 . 5 . 2 Junit Junit 4.12 test 5。创建一个新模块。项目结构如下:

第二,写代码的过程没有详细描述,直接在最终代码上。

我的batis的核心配置文件(mybatis -config . XML)src/main/Java/com/mybatis -config . XML doctype configuration public " -//mybatis . org//dtd config 3.0//EN " " http://mybatis . org/dtd/mybatis -3-config . dtd " >我的batis工具类()src/main/Java/com/Zhang/utils/mybatisutils . Java package comm . Zhang . utils;导入org . Apache . ibatis . io . resources;导入org . Apache . ibatis . session . SQL session;导入org . Apache . ibatis . session . SQL session factory;导入org . Apache . ibatis . session . sqlsessionfactorybuilder;导入Java . io . io exception;导入Java . io . inputstream;//sqlSessionFactory ---> sqlSessionpublic类MybatisUtils { private static sqlSessionFactory sqlSessionFactory;Static {try {// Get Mybatis第一步:获取sqlSessionFactory对象String Resource = " Mybatis -config . XML ";InputStream InputStream = resources . getresourceasstream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder()。构建(inputStream);} catch(io exception e){ e . printstacktrace();} }//既然有了SqlSessionFactory,顾名思义,就可以从中获取SqlSession的实例。// SqlSession提供了在数据库中执行SQL命令所需的所有方法。我们可以通过SqlSession实例直接执行映射的SQL语句。公共静态SQL session getsql session(){ return sqlsessionfactory . opensession();}}用户实体类(User.java)src/main/Java/com/Zhang/POJO/User . javapackagecom . Zhang . POJO;//实体类公共类用户{ private int id私有字符串名称;私有字符串pwdpublic User() { } public User(int id,String name,String pwd){ this . id = id;this.name = namethis.pwd = pwd} public int getId(){ return id;} public void setId(int id){ this . id = id;} public String getName(){ return name;} public void set name(String name){ this . name = name;}公共字符串get pwd(){ return pwd;} public void set pwd(String pwd){ this . pwd = pwd;} @ Override public String toString(){ return " User { "+" id = "+id+",name = " "+name+"/"+",pwd = " "+pwd+"/"+" } ";}} Dao接口(UserDao.java)src/main/Java/com/Zhang/Dao/userdao . javapakagecom . Zhang . Dao;导入com . Zhang . POJO . user;导入Java . util . list;公共接口UserDao { List get userlist();}数据库映射器文件(user Mapper . XML)src/main/Java/com/Zhang/Dao/user Mapper . XML doctype Mapper public " -//mybatis . org//dtd Mapper 3.0//En " " http://mybatis . org/dtd/mybatis -3-Mapper . dtd " > select * from mybatis . user 6 . Test class()src/Test/Java/com/Zhang/Dao/userdaotest . Java

包com . Zhang . Dao;导入com . Zhang . POJO . user;导入com . Zhang . utils . mybatisutils;导入org . Apache . ibatis . session . SQL session;导入org . JUnit . test;导入Java . util . list;public class userdao test { @ test public void test(){//第一步:获取SqlSession对象sqlsession = mybatistultils。getsql session();//执行SQL //方法一:get mapper userdao userdao = SQL session . get mapper(userdao . class);userdao . get userlist();list userList = userdao . get userList();for (User用户:userList){ System.out.println(用户);}//关闭SQL session SQL session . Close();}}最终的文件目录结构如下:

第三,试运行。UserDaoTest.java开始测试。

可能会有错误提示(此错误不会当面出现):org . Apache . ibatis . binding . binding exception:type interface com . Zhang . Dao . userdao对于mapper注册表是未知的。什么是映射器注册表?这是因为Mapper.xml中没有添加Mapper资源,可以解决。

再次运行,出现一条错误消息:Java . lang . exceptioniniinitializererror。

出现这个问题的原因:maven,由于其契约大于配置,我们的配置文件无法导出或生效,导致资源导出失败。解决方案:方法一:将src/main/resources/mybatis -config . XML文件复制到target/test -classes/com/Zhang/Dao/mybatis -config . XML。

方法2:将以下内容添加到父pom.xml文件和子POM . XML文件中:

src/main/resources **/*。属性**/*。xml true src/main/java **/*。属性**/*。使用方法1再次测试xml true,结果如下:

测试成功了!

遗留问题:当我使用方法2时,测试不成功。解释一下视频就ok了。我不知道我犯了什么错误。

欢迎对以上代码进行测试和交流,有问题可以留言。附学习视频资料:视频资料链接。

未经允许不得转载:主机频道 » JAVA学习笔记036-第一个简单的Mybatis程序(代码验证)

评论 抢沙发

评论前必须登录!