网站建设在线视频,年会策划,搭建网站架构怎么做,网站建设的内容管理1.什么是mybatis#xff1f;MyBatis 是支持普通 SQL 查询#xff0c;存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索。 MyBatis 可以使用简单的XML 或注解用于配置和原始映射#xff0c;将接口和 Java 的 POJ…1.什么是mybatisMyBatis 是支持普通 SQL 查询存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索。 MyBatis 可以使用简单的XML 或注解用于配置和原始映射将接口和 Java 的 POJO( Plain Old Java Objects普通的Java 对象)映射成数据库中的记录.1)MyBATIS 目前提供了三种语言实现的版本包括Java、.NET以及Ruby。(我主要学习java就讲java的使用)2)它提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。3)mybatis与hibernate的对比mybatis提供一种“半自动化”的ORM实现。这里的“半自动化”是相对Hibernate等提供了全面的数据库封装机制的“全自动化”ORM实现而言“全自动”ORM实现了POJO和数据库表之间的映射以及 SQL 的自动生成和执行。而mybatis的着力点则在于POJO与SQL之间的映射关系2.结构目录详情3.设置配置文件如下/phttp://mybatis.org/dtd/mybatis-3-config.dtd4.建立对应的实体类packagemybatis;public classCity {public intID;publicString Name;publicString CountryCode;publicString District;public intPopulation;public intgetID() {returnID;}public void setID(intiD) {IDiD;}publicString getName() {returnName;}public voidsetName(String name) {Namename;}publicString getCountryCode() {returnCountryCode;}public voidsetCountryCode(String countryCode) {CountryCodecountryCode;}publicString getDistrict() {returnDistrict;}public voidsetDistrict(String district) {Districtdistrict;}public intgetPopulation() {returnPopulation;}public void setPopulation(intpopulation) {Populationpopulation;}OverridepublicString toString() {return World [ID ID , Name Name , CountryCode CountryCode , District District , Population Population ];}}5.配置CityMapper.xml/phttp://mybatis.org/dtd/mybatis-3-mapper.dtdselect * from city where CountryCode #{CountryCode}6.测试类进行测试packagemybatis;importjava.io.IOException;importjava.io.Reader;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;public classMybatisDemo {public static void main(String[] args) throwsIOException {//mybatis的配置文件String resource mybatis/Configuration.xml;//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)Reader conf Resources.getResourceAsReader(resource);//构建sqlSession的工厂SqlSessionFactory sessionFactory newSqlSessionFactoryBuilder().build(conf);//创建能执行映射文件中sql的sqlSessionSqlSession session sessionFactory.openSession();/*** 映射sql的标识字符串* mybatis.CityMapper是CityMapper.xml文件中mapper标签的namespace属性的值* selectCityByCountryCode是select标签的id属性值通过select标签的id属性值就可以找到要执行的SQL*/String statement mybatis.CityMapper.selectCityByCountryCode;//映射sql的标识字符串//执行查询返回一个唯一City对象的sqlCity wo session.selectOne(statement, ANT);System.out.println(wo);}}使用接口新建一个接口类CityInterfacepackageinter;importmybatis.City;public interfaceCityInterface {public abstractCity selectCityByCountryCode(String CountryCode);}此时需要修改CityMapper.xml中的namespace的值namespace的值必须为对应的接口类的全路径select * from city where CountryCode #{CountryCode}修改测试类packagemybatis;importinter.CityInterface;importjava.io.IOException;importjava.io.Reader;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;public classMybatisDemo {public static void main(String[] args) throwsIOException {//mybatis的配置文件String resource mybatis/Configuration.xml;//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)Reader conf Resources.getResourceAsReader(resource);//构建sqlSession的工厂SqlSessionFactory sessionFactory newSqlSessionFactoryBuilder().build(conf);//创建能执行映射文件中sql的sqlSessionSqlSession session sessionFactory.openSession();CityInterface cityInter session.getMapper(CityInterface.class);City city cityInter.selectCityByCountryCode(ANT);System.out.println(city);}}实现数据的增删改查前面已经讲到用接口的方式编程。如果不一致就会出错,这一章主要在上一讲基于接口编程的基础上完成如下事情:1. 用 mybatis 查询数据包括列表2. 用 mybatis 增加数据3. 用 mybatis 更新数据.4. 用 mybatis 删除数据.查询数据前面已经讲过简单的主要看查询出列表也就是返回list, 在我们这个例子中也就是 List , 这种方式返回数据需要在CityMapper.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的:/phttp://mybatis.org/dtd/mybatis-3-mapper.dtdselect * from city where CountryCode #{CountryCode}接口中增加方法返回类型是List的方法packageinter;importjava.util.List;importmybatis.City;public interfaceCityInterface {public abstract ListselectCityByCountryCode(String CountryCode);}修改测试类如下packagemybatis;importinter.CityInterface;importjava.io.IOException;importjava.io.Reader;importjava.util.List;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;public classMybatisDemo {public static void main(String[] args) throwsIOException {//mybatis的配置文件String resource mybatis/Configuration.xml;//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)Reader conf Resources.getResourceAsReader(resource);//构建sqlSession的工厂SqlSessionFactory sessionFactory newSqlSessionFactoryBuilder().build(conf);//创建能执行映射文件中sql的sqlSessionSqlSession session sessionFactory.openSession();CityInterface cityInter session.getMapper(CityInterface.class);List city cityInter.selectCityByCountryCode(AFG);//System.out.println(city.get(0));//System.out.println(city.get(1));//System.out.println(city.get(2));for(City c : city){System.out.println(c);}}}