maven来创建项目,并使用mybatis来操作数据库

【摘要】 使用mybatis操作数库
现在使用mybatis对学生表进行操作,步骤如下: 第一,创建mybatisdb数据库,并创建Student学生表 第二步,在pom.xml文件中加入相应的依赖
<?xml version=”1.0″ encoding=”UTF-8″?>

<project xmlns=”http://maven.apache.org/POM/4.0….

使用mybatis操作数库

现在使用mybatis对学生表进行操作,步骤如下:
第一,创建mybatisdb数据库,并创建Student学生表

student表
第二步,在pom.xml文件中加入相应的依赖

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion> <groupId>per.pcqstart</groupId>
  <artifactId>mybatisDemo</artifactId>
  <version>1.0-SNAPSHOT</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target>
  </properties> <dependencies>
<!-- 添加mybatis依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.1</version> </dependency>
<!-- 添加mysql驱动依赖   --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.35</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency>
  </dependencies> <build>
<!-- idea默认扫描resources下的xml文件, 因此需要添加该resources组件来扫描项目所有xml文件
--> <resources> <resource>
<!--所有文件夹用**/表示,例如java下的所有文件夹**/;所有的具体文件用*.表示。例如*.xml--> <directory>src/main/java</directory><!--所在的目录--> <includes><!--包括目录下的.properties,.xml 文件都会扫描到--> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource>
  </resources>
  </build>
</project>

  
 

第三步,使用java在idea中创建对应的Student类

public class Student{ private Integer id; private String name; private Integer age; private Integer grade; 省略getter,setter,toString方法
}

  
 

第四步,创建对应的StudentDao和对应的StudentDao.xml文件
①创建StudentDao.java

public interface StudentDao { public List<Student> selectStudents();
}

  
 

②创建StudentDao.xml文件

<?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="per.dao.StudentDao"> <select id="selectStudents" resultType="per.domain.Student"> select id,name,age,grade from Student order by id
  </select>
<!-- sql映射文件(sql mapper):写sql语句的,mybatis执行 1.①namespace:命名空间,唯一值,可以是自定义的字符串。 但是规范要求使用dao接口的全限定名称。 ②id:要执行sql语句的唯一标识,mybatis会根据这个id来执行相应sql语句。 可以自定义,但要求使用接口中的方法名称; ③resultType:表示查询语句返回的结果类型;是执行sql语句后得到的ResultSet, 遍历这个ResultSet得到的java对象类型。规范要求编写被查询类的全限定名称;
-->
<!-- studentDao.xml是sql映射文件:写sql语句的,mybatis会执行这些sql 1.指定约束文件 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> mybatis-3-mapper.dtd:约束文件的名称,扩展名是dtd的。 2.约束文件作用:限制,检查在当前文件中出现的标签,属性必须符合mybatis的要求。 3.mapper:当前文件的根标签。 4.在当前文件中,可以使用特定的标签,表示数据库的特定操作; <select>:表示执行查询的操作 <update>:表示更新数据库的操作 <insert>:表示插入的操作 <delete>:表示删除的操作
-->
</mapper>

  
 

第五步,配置mybatis.xml主配置文件

<?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> <settings>
<!-- 在mybatis的主配置文件中加入STDOUT_LOGGING日志配置,可以在控制台 输出执行的sql语句和参数--> <setting name="logImpl" value="STDOUT_LOGGING" /> </settings>
<!-- 环境配置:数据库的连接信息-->
<!-- environments:可以在该标签内部配置多个环境变量 default的值:用到的配置环境,与用到的环境变量<environment id="development">一制; 例如使用<environment id="development">这个环境变量,则default="development"
--> <environments default="development">
<!-- environment:一个数据库的环境配置 id:唯一值,自定义,表示环境的名称
--> <environment id="development">
<!-- transactionManager:mybatis的事务类型 type:JDBC(表示使用jdbc中的Connection对象的commit,rollback做事务处理)
--> <transactionManager type="JDBC"/>
<!-- dataSource:连接池的数据源 type:表示数据源的类型,POOLED表示使用连接池
 --> <dataSource type="POOLED">
<!-- 数据库的驱动类名--> <property name="driver" value="com.mysql.jdbc.Driver"/>
<!-- 连接数据库的url地址--> <property name="url" value="jdbc:mysql://localhost:3306/mybatisdb"/>
<!-- 访问数据库的用户名--> <property name="username" value="root"/>
<!-- 访问数据库用户的密码--> <property name="password" value="123456"/> </dataSource> </environment> </environments>
<!-- sql mapper(sql映射文件的位置,
例如:studentDao.xml编译后的在target/classes后面的地址per/dao/StudentDao.xml)--> <mappers>
<!-- 有多少个sql映射文件,就需要多少个<mapper>--> <mapper resource="per/dao/StudentDao.xml"/> </mappers>
</configuration>
<!-- 1.此处为mybatis的主配置文件,名称可以自定义:主要定义了①数据库的配置信息 ②sql映射文件的位置; 2.①<?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>:配置文件的根标签; ④<mappers>:多sql映射文件的位置(sql.xml);
-->

  
 

最后一步,创建主函数并读取student表的数据

package per;

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 per.domain.Student;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**maven项目的主入口(或者main函数)所在的类要在其他类的上一层**/
public class ReadData { public static void main(String[] args) throws IOException { //访问mybatis读取student数据 //1.定义mybatis主配置文件的名称,从类路径的根开始(即target/classes之后开始) String config="mybatis.xml"; //2.读取config的主配置文件的内容,通过Resource.getResourceAsStream(),获取InputStream输入流对象 InputStream resourceAsStream = Resources.getResourceAsStream(config); //3.创建SqlSessionFactoryBuilder对象 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //4.创建SqlSessionFactory对象 SqlSessionFactory factory = builder.build(resourceAsStream); //5.【重要】获取SqlSession对象,从SqlSessionFactory中获取SqlSession对象 SqlSession sqlSession = factory.openSession(); //6.【重要】指定要执行的sql语句的标识。sql映射文件中的namespace+"."+标签的id值 String sqlId = "per.dao.StudentDao.selectStudents"; //7.执行sql语句,通过sqlId找到相应的语句 List<Student> studentLists = sqlSession.selectList(sqlId); //8.输出结果 /** * lamba表达式 *studentLists.forEach(stu -> System.out.println(stu)); * */ //增强for for(Student stu : studentLists){ System.out.println("查询的对象"+stu); } //9.关闭SqlSession对象 sqlSession.close(); /** * 关键对象: * ①通过Resource的getResourceAsStream()方法获取InputStream对象 * ②通过new SqlSessionFactoryBuilder创建SqlSessionFactoryBuilder builder对象 * ③通过builder对象的build()方法获取SqlSessionFactory factory对象 * ④通过factory对象的openSession()方法获取SqlSession对象 * ⑤指定sql语句的标识String sqlId; * ⑥通过SqlSession对象的selectList()方法多去List<Object>集合 * ⑦输出 * */ }
}

  
 

输出结果
输出结果

文章来源: blog.csdn.net,作者:二拐煎饼侠,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Self_discipline8/article/details/115771107

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享