当前位置: 首页 > news >正文

妇产医院网站源码零基础自学设计

妇产医院网站源码,零基础自学设计,做实验学编程的网站,明星百度指数排行Mybatis的官方文档是真的非常好#xff01;非常好#xff01; 点一下我呗#xff1a;Mybatis官方文档 MyBatis 是一款优秀的持久层框架#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可…Mybatis的官方文档是真的非常好非常好 点一下我呗Mybatis官方文档 MyBatis 是一款优秀的持久层框架它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJOPlain Old Java Objects普通老式 Java 对象为数据库中的记录。 持久层 负责将数据到保存到数据库的那一层代码。 以后开发我们会将操作数据库的Java代码作为持久层。而Mybatis就是对jdbc代码进行了封装。 JavaEE三层架构表现层、业务层、持久层 快速入门示例 需求查询user表中所有的数据 1创建user表添加数据 create database mybatis; use mybatis;drop table if exists tb_user;create table tb_user(id int primary key auto_increment,username varchar(20),password varchar(20),gender char(1),addr varchar(30) );INSERT INTO tb_user VALUES (1, zhangsan, 123, 男, 北京); INSERT INTO tb_user VALUES (2, 李四, 234, 女, 天津); INSERT INTO tb_user VALUES (3, 王五, 11, 男, 西安);select * from tb_user tu ;2创建模块导入坐标 在创建好的模块中的 pom.xml 配置文件中添加依赖的坐标 propertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependencies!--mybatis 依赖--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.5/version/dependency!--mysql 驱动--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.46/version/dependency!--junit 单元测试--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.13/versionscopetest/scope/dependency!-- 添加slf4j日志api --dependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion1.7.20/version/dependency!-- 添加logback-classic依赖 --dependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion1.2.3/version/dependency!-- 添加logback-core依赖 --dependencygroupIdch.qos.logback/groupIdartifactIdlogback-core/artifactIdversion1.2.3/version/dependency/dependencies3需要在项目的 resources 目录下创建logback的配置文件 ?xml version1.0 encodingUTF-8? configuration!--CONSOLE 表示当前的日志信息是可以输出到控制台的。--appender nameConsole classch.qos.logback.core.ConsoleAppenderencoderpattern[%level] %cyan([%thread]) %boldGreen(%logger{15}) - %msg %n/pattern/encoder/appenderlogger namecom.itheima levelDEBUG additivityfalseappender-ref refConsole//logger!--level:用来设置打印级别大小写无关TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF 默认debugroot可以包含零个或多个appender-ref元素标识这个输出位置将会被本日志级别控制。--root levelDEBUGappender-ref refConsole//root /configuration4编写 MyBatis 核心配置文件 在模块下的 resources 目录下创建mybatis的配置文件 mybatis-config.xml configurationtypeAliasespackage namecom.itheima.pojo//typeAliases!--environments配置数据库连接环境信息。可以配置多个environment通过default属性切换不同的environment--environments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLED!--数据库连接信息--property namedriver valuecom.mysql.jdbc.Driver/property nameurl valuejdbc:mysql:///mybatis?useSSLfalse/property nameusername valueroot/property namepassword valuefage//dataSource/environmentenvironment idtesttransactionManager typeJDBC/dataSource typePOOLED!--数据库连接信息--property namedriver valuecom.mysql.jdbc.Driver/property nameurl valuejdbc:mysql:///mybatis?useSSLfalse/property nameusername valueroot/property namepassword valuefage//dataSource/environment/environmentsmappers!--加载sql映射文件--mapper resourcecom/itheima/mapper/UserMapper.xml/!--Mapper代理方式--!--package namecom.itheima.mapper/--/mappers/configuration在核心配置文件的 environments 标签中其实是可以配置多个 environment 使用 id 给每段环境起名在 environments 中使用 default环境id 来指定使用哪儿段配置。我们一般就配置一个 environment 即可。typeAliases在核心配置文件中配置类型别名typeAliases也就意味着给pojo包下所有的类起了别名别名就是类名不区分大小写mappers如果Mapper接口名称和SQL映射文件名称相同并在同一目录下则可以使用包扫描的方式简化SQL映射文件的加载但是推荐第二种方式 5编写 SQL 映射文件 -- 统一管理sql语句解决硬编码问题 在模块的 resources 目录下创建映射配置文件 UserMapper.xml !--namespace:名称空间 --mapper namespacecom.itheima.mapper.UserMapper!--statement--select idselectAll resultTypeuserselect *from tb_user;/select !-- select idselectById resultTypeuserselect *from tb_user where id #{id};/select--select idselect resultTypeuserselect *from tb_userwhereusername #{arg0}and password #{param2}/select/mapper6,在 com.itheima.pojo 包下创建 User类 public class User {private Integer id;private String username;private String password;private String gender;private String addr;public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String getUsername() {return username;}public void setUsername(String username) {this.username username;}public String getPassword() {return password;}public void setPassword(String password) {this.password password;}public String getGender() {return gender;}public void setGender(String gender) {this.gender gender;}public String getAddr() {return addr;}public void setAddr(String addr) {this.addr addr;}Overridepublic String toString() {return User{ id id , username username \ , password password \ , gender gender \ , addr addr \ };} } 7在 com.itheima 包下编写 MybatisDemo 测试类 public class MyBatisDemo {public static void main(String[] args) throws IOException {//1. 加载mybatis的核心配置文件获取 SqlSessionFactoryString resource mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);//2. 获取SqlSession对象用它来执行sqlSqlSession sqlSession sqlSessionFactory.openSession();//3. 执行sqlListUser users sqlSession.selectList(com.itheima.mapper.UserMapper.selectAll);//参数是一个字符串该字符串必须是映射配置文件的namespace.idSystem.out.println(users);//4. 释放资源sqlSession.close();} } 运行结果 查出来的数据与库里数据一致。 8Mapper代理开发 上面的是采用加载sql映射文件的方式它也存在硬编码的问题 ListUser users sqlSession.selectList(com.itheima.mapper.UserMapper.selectAll);这里调用 selectList() 方法传递的参数是映射配置文件中的 namespace.id值。这样写也不便于后期的维护。 如果使用 Mapper 代理方式如下则不存在硬编码问题: //3.1 获取UserMapper接口的代理对象 ListUser users UserMapper userMapper sqlSession.getMapper(UserMapper.class);ListUser users userMapper.selectAll();运行后发现结果正确 通过上面的描述可以看出 Mapper 代理方式的目的 解决原生方式中的硬编码简化后期执行SQL Mybatis 官网也是推荐使用 Mapper 代理的方式 使用Mapper代理要求 使用Mapper代理方式必须满足以下要求 定义与SQL映射文件同名的Mapper接口并且将Mapper接口和SQL映射文件放置在同一目录下。如下图 设置SQL映射文件的namespace属性为Mapper接口全限定名 在 Mapper 接口中定义方法方法名就是SQL映射文件中sql语句的id并保持参数类型和返回值类型一致 注意 如果Mapper接口名称和SQL映射文件名称相同并在同一目录下则可以使用包扫描的方式简化SQL映射文件的加载。也就是将核心配置文件的加载映射配置文件的配置修改为 mappers!--加载sql映射文件--!-- mapper resourcecom/itheima/mapper/UserMapper.xml/--!--Mapper代理方式--package namecom.itheima.mapper/ /mappers类型别名 在映射配置文件中的 resultType 属性需要配置数据封装的类型类的全限定名。而每次这样写是特别麻烦的Mybatis 提供了 类型别名(typeAliases) 可以简化这部分的书写。 首先需要现在核心配置文件中配置类型别名也就意味着给pojo包下所有的类起了别名别名就是类名不区分大小写。内容如下 typeAliases!--name属性的值是实体类所在包--package namecom.itheima.pojo/ /typeAliases通过上述的配置我们就可以简化映射配置文件中 resultType 属性值的编写 mapper namespacecom.itheima.mapper.UserMapperselect idselectAll resultTypeuserselect * from tb_user;/select /mapper[声明]内容主要来源黑马程序员网上资源学习
http://www.hkea.cn/news/14468133/

相关文章:

  • 网站建设湛江2345浏览器网站大全
  • 做网站站长开通vip做网站运营的股票
  • 在线网站优化wordpress添加api
  • 网站别人备案怎么办东莞黄页顺企网
  • 外包商网站怎么做设计网站用什么语言
  • 部门网站建设管理办法链家在线网站是哪个公司做的
  • 成都比较好的网站设计公司东台网站建设公司
  • 北京高端网站建设宣传东莞响应式网站建设
  • 查楼盘剩余房源的网站福州网站建设哪家强
  • 网站建设费用差异大龙之向导外贸
  • 网站建设公司大概多少钱高端网站网站设计
  • 做僾免费观看网站男女插孔做暖暖的试看网站大全
  • 企业网站建设参考文献沈阳妇科医生哪个好
  • 牡丹江网站制作wordpress 内容格式
  • 长春网站设计公司排名app应用市场下载
  • 宿州网站开发做网页的网站叫什么
  • 网站开发交接协议书网页设计公司业绩介绍
  • 企业自有网站网站开发经典
  • 网站编程好学吗嵌入式培训
  • 互联网服务公司广州seo网站推广
  • 做书评的网站有创意的网络公司名字大全
  • 一些网站只能在微信打开怎么做的网店托管公司
  • WordPress全站跳转网络优化的手段有哪些
  • 深圳 建设银行国际互联网站WordPress怎么绑定两个域名
  • 电脑做视频的网站比较好黄骅港务
  • 怎样推广自己的网站dw中做网站的步骤
  • 做流量任务的试用网站企业网站系统
  • 沈阳市建设工程安全监督站网站osCommerce购物网站架设全攻略
  • 企业网站制作公司电话商标注册查询官网中国商标网
  • 怎么用eclipse做网站开发filezilla wordpress