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

猫扑网站开发的网络游戏线上营销推广方案

猫扑网站开发的网络游戏,线上营销推广方案,经营网站 备案信息,wordpress数据库设置密码1.配置myBatis 1.myBatis的作用 MyBatis 是一个开源的持久层框架,它的主要作用是简化数据库操作,使得开发者能够更方便地与数据库进行交互。 MyBatis 允许开发者使用简单的 XML 或注解配置 SQL 映射,从而实现数据库操作,而不需要…

1.配置myBatis

1.myBatis的作用

MyBatis 是一个开源的持久层框架,它的主要作用是简化数据库操作,使得开发者能够更方便地与数据库进行交互。 MyBatis 允许开发者使用简单的 XML 或注解配置 SQL 映射,从而实现数据库操作,而不需要手动编写繁琐的 JDBC 代码。

我们之前学习过,xml是一种用来存储映射关系的语言。而当我们和数据库做连接的时候,其实用java语言实现了很多映射关系。比如当我们用jdbc连接数据库的时候,如果把这个连接看作一个抽象的对象,这个连接对象有许多属性,比如url,用户名,密码等等。这时如果我们使用xml和myBatis来配置这些关系,就不需要专门编写一个类来连接数据库了。

再举例来说,如果我们从数据库中读取了一个用户的两个属性——用户名和密码。此时我们希望把这两个属性放入一个java的用户对象中。我们可以选择new一个user对象,向构造器传入我们刚刚读取的两个属性。但一旦从数据库中读取的内容变多,我们就需要new很多新的对象。这时我们就可以通过xml和myBatis来配置一种映射关系,当我从数据库中读取时,自动完成java对象的创建。

总体而言,MyBatis 提供了一种简单而灵活的方式来处理数据库交互,同时保持了足够的可定制性。它被广泛用于 Java 项目中,尤其在与关系型数据库的交互中表现出色。

2.下载

Releases · mybatis/mybatis-3 (github.com)

下载assets的第一个。(已经编译过的,而不是源码)找到里面的jar包,复制到工程文件的lib文件夹下(如果没有lib文件夹,就直接复制到工程的大文件夹下),然后右键,选择添加为库,就配置完成了。 

 3.配置

我们在工程文件的大目录下(最外层)创建一个xml文件,用来连接数据库。xml文件中的内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- XML 配置文件的根元素,包含了 MyBatis 的全局配置信息 --><!-- 定义了数据库环境配置 --><environments default="development"><!-- 默认使用的数据库环境 --><!-- 定义一个数据库环境 --><environment id="development"><!-- 事务管理器的配置 --><transactionManager type="JDBC"/><!-- 数据源的配置 --><dataSource type="POOLED"><!-- 数据库驱动 --><property name="driver" value="com.mysql.cj.jdbc.Driver"/><!-- 数据库连接 URL --><property name="url" value="jdbc:mysql://localhost:3306"/><!-- 数据库用户名 --><property name="username" value="root"/><!-- 数据库密码 --><property name="password" value="020809"/></dataSource></environment></environments>
</configuration>

重点在于

 <!-- 数据库驱动 -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>

                <!-- 数据库连接 URL -->
                <property name="url" value="jdbc:mysql://localhost:3306"/>

                <!-- 数据库用户名 -->
                <property name="username" value="root"/>

                <!-- 数据库密码 -->
                <property name="password" value="020809"/>

这里的内容需要根据自己的实际情况而变化。这里使用的是mysql数据库。

2.通过myBatis将sql语句返回的值自动包装成一个java对象

如果我们从数据库中读取了一个用户的两个属性——用户名和密码。此时我们希望把这两个属性放入一个java的用户对象中。我们可以选择new一个user对象,向构造器传入我们刚刚读取的两个属性。但一旦从数据库中读取的内容变多,我们就需要new很多新的对象。这时我们就可以通过xml和myBatis来配置一种映射关系,当我从数据库中读取时,自动完成java对象的创建。 

1. 创建对应的类

以上面为例。要想把数据库里的数据映射成一个java对象,首先我们需要有一个对应的java类来描述数据库中的这个对象。

package Mybatis;import lombok.Data;@Data
public class User {String username; //名称最好和数据库字段名称保持一致,不然可能会映射失败导致查询结果丢失String password;
}

2.Lombok 

lombok是一种可以简化代码的框架,这里的@Data注释表明:在编译时,lombok框架会自动将这个类重新编译,添加一些常用方法,如 toStringequalshashCode、以及所有字段的 getter 和 setter 方法。所以在这个类里,即使字段默认为protected的,也没有编写getter和setter方法,但是在这个类外,我们依旧可以使用getter和setter方法来编辑类。

3.mapper

我们需要一种配置文件(映射关系)来告诉myBatis:对于某一种特定的sql语句,应该把sql里user的a内容映射到 java中user类的a字段上。

我们在工程文件的大目录下创建一个配置文件Mapper.xml,配置文件内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--MyBatis 映射器(Mapper)XML 文件,用于定义 SQL 映射配置。映射器文件通常用于将数据库操作与 Java 方法关联起来。
--><!-- 定义映射器命名空间,通常与对应的 Java 接口或类的全限定名一致 -->
<mapper namespace="User"><!--定义一个查询操作,id 属性为该操作的唯一标识符。resultType 属性指定查询结果的返回类型,这里是 com.test.entity.Student。--><select id="selectUser" resultType="Mybatis.User">select * from user</select><!--在实际项目中,查询语句通常更为复杂,可以包含条件、关联查询等。这里的示例是一个简单的查询所有user的语句。--></mapper>

注意这一段:

 <!-- 定义映射器命名空间,通常与对应的 Java 接口或类的全限定名一致 -->
<mapper namespace="User"><!--定义一个查询操作,id 属性为该操作的唯一标识符。resultType 属性指定查询结果的返回类型--><select id="selectUser" resultType="Mybatis.User">select * from user</select>

 namespace是这个mapper的名字

id指的是“select * from user”这条语句的名字,起了这个名字后,我们就可以在后面的java代码里用这个名字指代这条sql语句

resultType是需要映射成的类型的位置(不是电脑里的路径,是在java里的位置,哪个包(也可能不在包里,看你自己),哪个类),在这个例子里User是类名,Mybatis是User类所在的包名,这个地方每个人不一样,根据你的类的位置来决定。

4.在myBatis配置文件里添加mapper

当我们完成mapper之后,我们需要告诉java:我配置好了这个一个mapper。而myBatis和java连接就是靠我们一开始配置的哪个xml配置文件,所以我们在那个配置文件里添加如下语句:

   <mappers><mapper url="file:UserMapper.xml"/></mappers>

 “file:”表明这里的mapper是一个本地的file,冒号后可以跟mapper文件的相对路径或绝对路径。(这里是相对路径)(不是上面说的Java里的位置)(不是上面namespace属性里mapper的名字)

路径example:C:\Users\86136\projects\IdeaProjects\javaWeb\UserMapper.xml

添加完成后的完整的myBatis配置文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- XML 配置文件的根元素,包含了 MyBatis 的全局配置信息 --><!-- 定义了数据库环境配置 --><environments default="development"><!-- 默认使用的数据库环境 --><!-- 定义一个数据库环境 --><environment id="development"><!-- 事务管理器的配置 --><transactionManager type="JDBC"/><!-- 数据源的配置 --><dataSource type="POOLED"><!-- 数据库驱动 --><property name="driver" value="com.mysql.cj.jdbc.Driver"/><!-- 数据库连接 URL --><property name="url" value="jdbc:mysql://localhost:3306"/><!-- 数据库用户名 --><property name="username" value="root"/><!-- 数据库密码 --><property name="password" value="020809"/></dataSource></environment></environments><mappers><mapper url="file:UserMapper.xml"/></mappers>
</configuration>

5.SqlSessionFactory

我们已经配置好了myBatis,当我们希望使用myBatis的时候,我们就会创建一个SqlSessionFactory类,在这个类里使用myBatis的各种功能。

每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的,我们可以通过SqlSessionFactory来创建多个新的会话——SqlSession对象,你可以认为这就是之前JDBC中的Statement对象,会话之间相互隔离,没有任何关联。(我可以通过mysql的用户界面访问数据库,创建会话,也可以通过idea来访问数据库,这两种访问方式虽然都访问了相同的数据库,但相互没有关联)。

package Mybatis;import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.List;/*** 我们已经配置好了myBatis,当我们希望使用myBatis的时候,* 我们就会创建一个SqlSessionFactory类,在这个类里使用myBatis的各种功能。*/
public class Main {public static void main(String[] args) throws FileNotFoundException {//寻找配置文件SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(new FileInputStream("myBatis_config.xml"));//sqlSession就像之前的statement一样,创建一个连接,执行sql语句,它也需要关闭,所以写进trytry (SqlSession sqlSession = sqlSessionFactory.openSession(true)){//这里的参数是mapper里指定的那个sql语句的名称//也就是UserMapper.xml里的id字段的名称List<User> student = sqlSession.selectList("selectUser");//这行代码使用了 Java 8 引入的新特性之一,称为方法引用(Method Reference)。// 具体来说,System.out::println 是一个静态方法引用,用于将 println 方法关联到 System.out 对象上。//在这里,System.out::println 等效于 lambda 表达式 (s) -> System.out.println(s)。// 它表示将遍历 student 集合的每个元素,并将每个元素传递给 System.out.println 方法,实现在控制台上打印每个元素的效果。student.forEach(System.out::println);}}
}

运行后应该可以打印出数据库的全部内容,并且list中存放了和数据库等大小的user对象:


文章转载自:
http://dinncobarbital.wbqt.cn
http://dinncoroisterous.wbqt.cn
http://dinncobeirut.wbqt.cn
http://dinncohumorless.wbqt.cn
http://dinncobenet.wbqt.cn
http://dinncoflautist.wbqt.cn
http://dinncotyche.wbqt.cn
http://dinncoadnoun.wbqt.cn
http://dinncomicrosystem.wbqt.cn
http://dinncoassociation.wbqt.cn
http://dinncononarithmetic.wbqt.cn
http://dinncostandpattism.wbqt.cn
http://dinncobanjarmasin.wbqt.cn
http://dinncocental.wbqt.cn
http://dinncoorange.wbqt.cn
http://dinncoghetto.wbqt.cn
http://dinncobergsonism.wbqt.cn
http://dinncoplant.wbqt.cn
http://dinncopluteus.wbqt.cn
http://dinncoyielding.wbqt.cn
http://dinncoestrus.wbqt.cn
http://dinncodocumentary.wbqt.cn
http://dinncodebited.wbqt.cn
http://dinncodemodulator.wbqt.cn
http://dinncohatmaker.wbqt.cn
http://dinnconucleole.wbqt.cn
http://dinncoheartful.wbqt.cn
http://dinncothermate.wbqt.cn
http://dinncoacetimeter.wbqt.cn
http://dinncohuon.wbqt.cn
http://dinncoescarpmetnt.wbqt.cn
http://dinncooverglaze.wbqt.cn
http://dinncolikely.wbqt.cn
http://dinncomicrochannel.wbqt.cn
http://dinncohepatopathy.wbqt.cn
http://dinncokavakava.wbqt.cn
http://dinncoeditola.wbqt.cn
http://dinncofaerie.wbqt.cn
http://dinncobrevity.wbqt.cn
http://dinncodinkum.wbqt.cn
http://dinncocircumference.wbqt.cn
http://dinncopriestcraft.wbqt.cn
http://dinncodavida.wbqt.cn
http://dinncoinkstand.wbqt.cn
http://dinncowife.wbqt.cn
http://dinncoelb.wbqt.cn
http://dinncokingly.wbqt.cn
http://dinncogastrin.wbqt.cn
http://dinncotetrodotoxin.wbqt.cn
http://dinncodismember.wbqt.cn
http://dinncoorganophosphorous.wbqt.cn
http://dinncoaerophysics.wbqt.cn
http://dinncoapostolate.wbqt.cn
http://dinncomandrel.wbqt.cn
http://dinncofluorinate.wbqt.cn
http://dinnconikko.wbqt.cn
http://dinncoapologue.wbqt.cn
http://dinncomanagua.wbqt.cn
http://dinncoovonic.wbqt.cn
http://dinncoanti.wbqt.cn
http://dinncoanabantid.wbqt.cn
http://dinncoaxe.wbqt.cn
http://dinncoinjurious.wbqt.cn
http://dinncocism.wbqt.cn
http://dinncoantispeculation.wbqt.cn
http://dinncocountermine.wbqt.cn
http://dinncosolubilize.wbqt.cn
http://dinncoelegiast.wbqt.cn
http://dinncopulsator.wbqt.cn
http://dinncoantideuteron.wbqt.cn
http://dinncoaileron.wbqt.cn
http://dinncoblowmobile.wbqt.cn
http://dinncogladiate.wbqt.cn
http://dinncoflyflap.wbqt.cn
http://dinncoroutinization.wbqt.cn
http://dinncofolliculosis.wbqt.cn
http://dinncovalue.wbqt.cn
http://dinncoproruption.wbqt.cn
http://dinncobotheration.wbqt.cn
http://dinncocynwulf.wbqt.cn
http://dinncosericiculture.wbqt.cn
http://dinncoupas.wbqt.cn
http://dinncons.wbqt.cn
http://dinncobooty.wbqt.cn
http://dinncodiagonalize.wbqt.cn
http://dinncosurprisedly.wbqt.cn
http://dinncolam.wbqt.cn
http://dinncounfindable.wbqt.cn
http://dinncoaeroamphibious.wbqt.cn
http://dinncoavert.wbqt.cn
http://dinncoroister.wbqt.cn
http://dinncocycling.wbqt.cn
http://dinncoaccumulation.wbqt.cn
http://dinncocissy.wbqt.cn
http://dinncosialolith.wbqt.cn
http://dinncotarsometatarsus.wbqt.cn
http://dinncosloid.wbqt.cn
http://dinncoirvingite.wbqt.cn
http://dinncoliberate.wbqt.cn
http://dinncomonogram.wbqt.cn
http://www.dinnco.com/news/145350.html

相关文章:

  • 做房产应看的网站杭州网站建设方案优化
  • 做订餐网站数据库应该有哪些表市场营销
  • 网上做调查网站有哪些凡科网
  • 做网站公司怎么样廊坊自动seo
  • 福永医院网站建设宁波seo怎么做引流推广
  • 酒店网站策划互联网营销师国家职业技能标准
  • 网站翻页功能网络营销能干什么工作
  • 做网站前端ps很重要吗国外市场网站推广公司
  • 网上做兼职做网站百度网盘app下载安装电脑版
  • 学习网站建设多少钱南京最大网站建设公司
  • 网站建设免费模版链接交换
  • 体彩网站开发如何优化培训方式
  • 做动态图网站北京网站seo公司
  • 上虞区驿亭镇新农村建设网站网站设计制作培训
  • 老李网站建设网络营销推广
  • 做任务赚钱的游戏网站广告投放推广平台
  • 招聘类网站如何做百度指数查询手机版app
  • 建设报名系统这个网站是真是假营销渠道的概念
  • 江苏集团网站建设如何创建一个平台
  • wordpress on sent okseo网络营销推广
  • 新乐网站建设seo网站排名优化价格
  • 15年做啥网站致富网站网络推广公司
  • 网站建设课程设计的引言宁波seo推广服务电话
  • 做下载类型网站怎样划算上线了建站
  • dedecms做微网站谷歌推广技巧
  • 消防有哪些网站合适做买链接官网
  • 做网站有高手没有360优化大师官方下载
  • wordpress无法打开网页如何优化seo
  • 建筑模型网站seo如何快速出排名
  • 做兼职什么网站靠谱关键词优化 搜索引擎