国外论文类网站有哪些wordpress 留言本插件

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

国外论文类网站有哪些,wordpress 留言本插件,沈阳网站建设,thinkphp开发企业网站第一章#xff1a;框架的概述#xff1a; MyBatis 框架的概述#xff1a; MyBatis 是一个优秀的基于 Java 的持久框架#xff0c;内部对 JDBC 做了封装#xff0c;使开发者只需要关注 SQL 语句#xff0c;而不关注 JDBC 的代码#xff0c;使开发变得更加的简单MyBatis 通…第一章框架的概述 MyBatis 框架的概述 MyBatis 是一个优秀的基于 Java 的持久框架内部对 JDBC 做了封装使开发者只需要关注 SQL 语句而不关注 JDBC 的代码使开发变得更加的简单MyBatis 通过 XML 或者注解的方式将要执行的各种 Statement 对象配置起来通过 Java  对象和 statement 中 SQL 后最终将结果已 Java 对象返回MyBatis 采用了 ORM 的思想 ORM 思想 在 web 阶段学习 JavaBean 更正确的叫法是实体类ORMobject  relational  mapping  对象映射关系 O面向对象领域的 Object(JavaBean 对象)R关系数据库领域的 Relational(表的结构)M映射 Mapping(XML 的配置文件)、 让实体类和数据库表进行 一 一  对应关系 先让实体类和数据库表对应再让实体类属性和表里面字段对应 不需要直接操作数据库表直接操作表对应的实体类对象即可 推荐插件 第二章MyBatis 的入门程序(重点) 创建数据库和表结构 create database mybatis_demo; use mybatis_demo; ​ CREATE TABLE user (id int(11) NOT NULL auto_increment,username varchar(32) NOT NULL COMMENT 用户名称,birthday datetime default NULL COMMENT 生日,sex char(1) default NULL COMMENT 性别,address varchar(256) default NULL COMMENT 地址,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8; ​ insert into user(id,username,birthday,sex,address) values (1,老王,2018-02-27 17:47:08,男,北京), (2,熊大,2018-03-02 15:09:37,女,上海), (3,熊二,2018-03-04 11:34:34,女,深圳), (4,光头强,2018-03-04 12:04:06,男,广州); MyBatis 的入门程序 创建 maven 项目Java 工程即可引入坐标 引入 MyBatis 的 3.4.5 的版本的坐标引入 MySQL 驱动的 jar 包5.1.6 版本引入 Junit 单元测试的 jar 包引入 log4h 的 jar 包1.2.12 版本(需要引入log4j.propertiees 的配置文件) dependencies!–mybatis核心包–dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.4.5/version/dependency!–mysql驱动包–dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.6/version/dependency!– 单元测试 –dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.10/versionscopetest/scope/dependency!– 日志 –dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.17/version/dependency /dependencies 编写 User 的实现类属性尽量使用包装类型 public class User implements Serializable {private Integer id;private String username;private Date birthday;private String sex;private String address;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 Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday birthday;}public String getSex() {return sex;}public void setSex(String sex) {this.sex sex;}public String getAddress() {return address;}public void setAddress(String address) {this.address address;}Overridepublic String toString() {return User{ id id , username username \ , birthday birthday , sex sex \ , address address \ };} } 编写 UserMapper 的接口和方法(即 Spring 框架中 UserDao 接口) public interface UserMapper {public ListUser selectAll; } 在 resources 目录下创建 mapper 文件夹。编写 Usermapper.xml 的配置文件导入一下约束信息 ?xml version1.0 encodingUTF-8? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.qcby.mapper.UserMapperselect idfindAll resultTypecom.qcby.model.Userselect * from user;/select /mapper mapper  namespacecom.qcby.mapper.UserMapper叫名称空间表明以后查找 UserMapper 接口中的 findAll 方法select  id findAll 中的 id 属性编写的 UserMapper 接口中方法的名称固定写法resultType com.qcby.model.User表明的是 findAll 方法的返回值类型 编写配置文件在 resources 目录下创建 SqlMapConfig.xml 的配置文件(名称可以任意)导入对应的约束编写主配置文件 ?xml version1.0 encodingUTF-8? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configuration!– 配置具体的环境 –environments defaultmysqlenvironment idmysqltransactionManager typeJDBC/transactionManager!– 配置是否需要使用连接池, POOLED 使用,UNPOOLED 不适用–dataSource typePOOLEDproperty namedriver valuecom.mysql.cj.jdbc.Driver/property nameurl valuejdbc:mysql:///mybatis_demo/property nameusername valueroot/property namepassword valueroot//dataSource/environment/environments!– 加载映射的配置文件 –mappersmapper resourceMapper/UserMapper.xml//mappers/configuration 编写入门程序(重点掌握入门的步骤) import com.qcby.mapper.UserMapper; import com.qcby.model.User; 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 org.junit.Test;import java.io.IOException; import java.io.InputStream; import java.util.List;public class MyBatisDemo {Testpublic void run() throws Exception {//加载主配置文件,目的是构建 SqlSessionFactory 的对象InputStream in Resources.getResourceAsStream(SqlMapConfig.xml);//创建 SqlSSessionFactory 对象SqlSessionFactory factory new SqlSessionFactoryBuilder().build(in);//使用 SqlSessionFactory 工厂对象创建 SqlSession 对象SqlSession session factory.openSession();//通过 session 创建 UserMapper 接口的代理对象UserMapper mapper session.getMapper(UserMapper.class);//调用 findAll 方法ListUser list mapper.findAll();//遍历集合并输出for (User u : list){System.out.println(u);}//释放资源session.close();in.close();} }
第三章代理 Dao 方式的 CURD 操作 Dao 方式的增删改查 创建项目注意除了查询方法之外其他增删改操作需要进行 session.commit 提交 UserMapper 接口代码 public interface UserMapper {public ListUser findAll();//根据 id 查询public User findById(Integer id);// 插入public void insert(User user);//修改public void update(User user);//删除public void delete(int id);//根据姓名模糊查询public ListUser findByName(String username);//查询总数public Integer findByCount(); } UserMapper.xml 的配置文件代码 ?xml version1.0 encodingUTF-8? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.qcby.mapper.UserMapper!–保存操作–insert idinsert parameterTypecom.qcby.model.User/keyProperty表示要返回的属性名称order取值AFTER表示插入数据后的行为resultType表示返回值的类型/selectKey keyPropertyid orderAFTER resultTypejava.lang.Integerselect last_insert_id();/selectKeyinsert into user (username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address})/insert!– 修改 –update idupdate parameterTypecom.qcby.model.Userupdate user set username#{username},birthday#{birthday},sex#{sex},address#{address} where id#{id}/update!– 根据 id 删除 –delete iddelete parameterTypeintegerdelete from user where id #{id}/delete!– 查询所有 –select idfindAll resultTypecom.qcby.model.User select * from user;/select!– 根据 id 查询 –select idfindById resultTypecom.qcby.model.Userselect * from user where id#{id};/select!– 根据姓名模糊查询–select idfindByName parameterTypestring resultTypecom.qcby.model.User/第一种方式的 SQL 语句*/ – select * from user where username like #{username}/第二种 SQL 语句的编写,强调: %\({value}% 不能修改固定写法(推荐使用)注意使用第二种 SQL 写法时需要把 SQL 中的注释全部删除否则会报错*/select * from user where username like %\){value}%/select!– 查询总数量 –select idfindByCount resultTypejava.lang.Integerselect count(*) from user;/select/mapper 测试代码 public class MyBatisDemo {private InputStream in;private SqlSession session;private UserMapper userMapper;Beforepublic void init() throws IOException {//加载配置文件in Resources.getResourceAsStream(SqlMapConfig.xml);//创建工厂对象SqlSessionFactory factory new SqlSessionFactoryBuilder().build(in);//创建 Session 对象session factory.openSession();//获取到代理对象userMapper session.getMapper(UserMapper.class);}Afterpublic void dstory() throws IOException {in.close();session.close();}//查询所有Testpublic void fundAll() throws IOException {ListUser users userMapper.findAll();for (User u : users){System.out.println(u);}in.close();}//根据 id 查询Testpublic void findById() throws IOException {User user userMapper.findById(1);System.out.println(user);in.close();}//插入方法Testpublic void insert() throws IOException {User user new User();user.setAddress(河北);user.setBirthday(new Date());user.setSex(男);user.setUsername(张翰里);System.out.println(user);userMapper.insert(user);session.commit();in.close();}//修改方法Testpublic void updage() throws IOException {User user new User();user.setId(1);user.setAddress(河北);user.setBirthday(new Date());user.setSex(男);user.setUsername(张翰里);userMapper.update(user);session.commit();in.close();}//删除方法Testpublic void delete() throws IOException {userMapper.delete(2);session.commit();in.close();}//模糊查询Testpublic void findByName() throws IOException {ListUser list userMapper.findByName(%张%);for(User u : list){System.out.println(u);}in.close();}//查询总量Testpublic void findCount(){System.out.println(userMapper.findByCount());} }