1.服务器安装mysql
解压安装后:找到mysql安装目录,将其配置文件my.default.ini改名为my.ini,并且将my.ini移至bin目录下。
启动命令行,将目录切换到mysql安装目录的bin目录下。
接下来,在命令行执行命令:mysqld –initialize –user=mysql –console
注意,上一个步骤会获得一个临时密码,需要记录,之后会用到
接下来在控制台以命令行输入: mysqld –install,进行安装服务操作。
之后,在任务管理器找到“服务”,启动其中的MYSQL服务即可。
之后,输入命令行mysql -uroot -p,利用之前的临时密码输入即可登录数据库成功。
修改临时密码,设置密码:mysqladmin -u USER -p password PASSWORD,注意USER和PASSWORD为自己定义的数值。
2.安装mysql workbench ,建databases,建表
3.java工程使用Mybatis jdbc连接databases,操作table。 或者
hibernate-jdbc去操作数据库
Hibernate–jdbc
4.java长连接服务websocket提供客户端接口。—–推荐使用
5.或者使用Strut2+jsp提供接口——不推荐
6.或者使用Spring提供接口———推荐使用
struts2+spring+mybatis 或 spring+springmvc+mybatis
————————————————————————————————————-
Spring boot系列文章:
http://www.ityouknow.com/spring-boot.html
http://blog.csdn.net/tony308001970/article/details/74999680
spring boot使用swagger生成apidoc:
https://my.oschina.net/wangnian/blog/666017
————————————————————————————————————-
Struts2核心是拦截器,原来拦截处理用户请求jsp:
http://www.cnblogs.com/xing901022/p/3961661.html
http://blog.csdn.net/itmyhome1990/article/details/36186059
http://blog.csdn.net/qq_22028771/article/details/51498982
http://blog.csdn.net/u012131769/article/details/46390559
http://www.cnblogs.com/vast-yj1234/p/5351507.html
————————————————————————————————————-
spring微服务
http://www.cnblogs.com/tzyy/p/4837701.html
spring boot的helloworld:
http://blog.csdn.net/linabc123000/article/details/68954236
jdk错误解决:
http://blog.csdn.net/lslk9898/article/details/73836745
修改spring boot默认端口:
http://blog.csdn.net/whh743/article/details/65444391
基于spring boot的天气预报服务:
http://blog.csdn.net/gebitan505/article/details/77897344
spring的RESTFul使用RestController:
http://blog.csdn.net/victor_cindy1/article/details/52086935
spring boot的RESTFul:
http://blog.csdn.net/superpeepi_csdn/article/details/71634524
前端框架bootstrap结合spring:
https://waylau.gitbooks.io/spring-boot-tutorial/docs/bootstrap-integration.html
bootstrap属于下面后端程序员写前端推荐框架之一。
https://spring.io/tools/sts
https://github.com/waylau/spring-boot-tutorial/blob/master/SUMMARY.md
后端程序员写前端
https://www.zhihu.com/question/37946473/answer/84852303
安装Visual Studio 2010以及QT5.0.0
1.dotNetFx45_Full_setup.exe
2.vc_redist.x64_2015.exe
3.NDP46-KB3045557-x86-x64-AllOS-ENU.exe
4.cn_visual_studio_2010_ultimate_web_installer_x86_535094.exe
安装vs2010完成后激活:再次运行cn_visual_studio_2010_ultimate_web_installer_x86_535094.exe
进入维护模式,
在向导中输入序列号
YCFHQ-9DWCY-DKV88-T2TMH-G7BHP
确认激活。
5.qt-windows-opensource-5.0.0-msvc2010_32-x86-offline.exe
6.qt-vs-addin-1.2.4-opensource.exe
7.配置VS2010的Qt开发环境:
进入vs2010, 选择Qt5菜单,Qt Options,点Add,添加Qt的安装目录和版本名字,然后选择OK即可
http://blog.csdn.net/aboy123/article/details/10085635
一、Hibernate概述
(一)什么是Hibernate?
hibernate核心内容是ORM(关系对象模型)。可以将对象自动的生成数据库中的信息,使得开发更加的面向对象。这样作为程序员就可以使用面向对象的思想来操作数据库,而不用关心繁琐的JDBC。所以,Hibernate处于三层架构中的D层(持久层)。
(二)使用Hibernate的优点
1、Hibernate可以使用在Java的任何项目中,不一定非要使用在Java web项目中。因为Hibernate不需要类似于tomact这些容器的支持,可以直接通过一个main方法进行测试。
2、通过下面的实例,可以发现使用Hibernate可以大大减少代码量。
3、由于使用了Hibernate,代码中不涉及具体的JDBC语句,所以就方便了代码的可移植性。
二、Hibernate开发的环境搭建
- <!DOCTYPE hibernate-configuration PUBLIC
- “-//Hibernate/Hibernate Configuration DTD 3.0//EN”
- “http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd”>
- <hibernate-configuration>
- <session-factory >
- <!– mysql数据库驱动 –>
- <property name=“hibernate.connection.driver_class”>com.mysql.jdbc.Driver</property>
- <!– mysql数据库名称 –>
- <property name=“hibernate.connection.url”>jdbc:mysql://localhost:3306/hibernate_first</property>
- <!– 数据库的登陆用户名 –>
- <property name=“hibernate.connection.username”>root</property>
- <!– 数据库的登陆密码 –>
- <property name=“hibernate.connection.password”>root</property>
- <!– 方言:为每一种数据库提供适配器,方便转换 –>
- <property name=“hibernate.dialect”>org.hibernate.dialect.MySQLDialect</property>
- </session-factory>
- </hibernate-configuration>
三、HIbernate第一个实例
- import java.util.Date;
- public class User {
- private String id;
- private String username;
- private String password;
- private Date createTime;
- private Date expireTime;
- public String getId() {
- return id;
- }
- public void setId(String 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 Date getCreateTime() {
- return createTime;
- }
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
- public Date getExpireTime() {
- return expireTime;
- }
- public void setExpireTime(Date expireTime) {
- this.expireTime = expireTime;
- }
- }
- <?xml version=“1.0”?>
- <!DOCTYPE hibernate-mapping PUBLIC
- “-//Hibernate/Hibernate Mapping DTD 3.0//EN”
- “http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd”>
- <hibernate-mapping>
- <class name=“com.example.hibernate.User”>
- <id name=“id”>
- <generator class=“uuid”/>
- </id>
- <property name=“username”/>
- <property name=“password”/>
- <property name=“createTime”/>
- <property name=“expireTime”/>
- </class>
- </hibernate-mapping>
其中的property标签是将要生成是数据库表中的字段,在这里不用关心各个字段是什么类型的。因为Hibernate会根据上面的实体类中属性的类型来决定将来表中字段的类型
- <hibernate-configuration>
- <session-factory >
- <!– mysql数据库驱动 –>
- <property name=“hibernate.connection.driver_class”>com.mysql.jdbc.Driver</property>
- <!– mysql数据库名称 –>
- <property name=“hibernate.connection.url”>jdbc:mysql://localhost:3306/hibernate_first</property>
- <!– 数据库的登陆用户名 –>
- <property name=“hibernate.connection.username”>root</property>
- <!– 数据库的登陆密码 –>
- <property name=“hibernate.connection.password”>root</property>
- <!– 方言:为每一种数据库提供适配器,方便转换 –>
- <property name=“hibernate.dialect”>org.hibernate.dialect.MySQLDialect</property>
- <span style=“color:#ff0000;”><mapping resource=“com/example/hibernate/User.hbm.xml”/></span>
- </session-factory>
- </hibernate-configuration>
注意:必须是“/”而不能是“.”。
- import org.hibernate.cfg.Configuration;
- import org.hibernate.tool.hbm2ddl.SchemaExport;
- /**
- * 将hbm生成ddl
- * @author BCH
- *
- */
- public class ExoprtDB {
- public static void main(String[] args) {
- //默认读取hibernate.cfg.xml文件
- Configuration cfr = new Configuration().configure();
- SchemaExport export = new SchemaExport(cfr);
- export.create(true, true);
- }
- }
到这里就可以生成User表了,但是如果直接运行ExoprtDB.java文件是不能生成User表的。因为在mysql数据中还没有建立数据库Hibernate-first。所以在mysql控制台中通过create database hibernate-first; use hibernate-first;之后再执行ExoprtDB.java文件就可以生成表了。
- import java.util.Date;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.cfg.Configuration;
- public class Client {
- public static void main(String[] args) {
- //读取配置文件
- Configuration cfg = new Configuration().configure();
- SessionFactory factory = cfg.buildSessionFactory();
- Session session = null;
- try{
- session = factory.openSession();
- //开启事务
- session.beginTransaction();
- User user = new User();
- user.setUsername(“用户名”);
- user.setPassword(“123”);
- user.setCreateTime(new Date());
- user.setExpireTime(new Date());
- session.save(user);
- //提交事务
- session.getTransaction().commit();
- }catch(Exception e){
- e.printStackTrace();
- //回滚事务
- session.getTransaction().rollback();
- }finally{
- if(session != null){
- if(session.isOpen()){
- //关闭session
- session.close();
- }
- }
- }
- }
- }
(四)总结
http://www.cnblogs.com/oumyye/p/4668721.html#3758875
一、Mybatis介绍
MyBatis是一款一流的支持自定义SQL、存储过程和高级映射的持久化框架。MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去设置参数和获取检索结果。MyBatis能够使用简单的XML格式或者注解进行来配置,能够映射基本数据元素、Map接口和POJOs(普通java对象)到数据库中的记录。
二、MyBatis工作流程
orm工具的基本思想
无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:
- 从配置文件(通常是XML配置文件中)得到 sessionfactory.
- 由sessionfactory 产生 session
- 在session 中完成对数据的增删改查和事务提交等.
- 在用完之后关闭session 。
- 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。
功能架构
- API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
- 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
- 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
多需要添加的驱动包:
下面进行快速入门:
目录如下:
实体类User
package com.oumyye.model; public class User { private String id; private String name; private int age; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", age=" + age + "]"; } }
映射文件UserMapping.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="com.oumyye.mapping.UserMapping"> <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复 使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型 resultType="com.oumyye.model.User"就表示将查询结果封装成一个User类的对象返回 User类就是users表所对应的实体类 --> <!-- 根据id查询得到一个user对象 --> <select id="getUser" parameterType="String" resultType="com.oumyye.model.User"> select * from user where id=#{id} </select> </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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <!-- 配置数据库连接信息 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/oumyye/mapping/userMapping.xml"/> </mappers> </configuration>
测试类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
package test; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import com.oumyye.model.User; public class Tests { @Test public void test(){ String resource = "mybatis.xml" ; //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件) InputStream is = Tests. class .getClassLoader().getResourceAsStream(resource); //构建sqlSession的工厂 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is); SqlSession session = sessionFactory.openSession(); /** * 映射sql的标识字符串, * com.oumyye.mapping.UserMapping是userMapper.xml文件中mapper标签的namespace属性的值, * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL */ String statement = "com.oumyye.mapping.UserMapping.getUser" ; //映射sql的标识字符串 //执行查询返回一个唯一user对象的sql User user = session.selectOne(statement, "1123" ); System.out.println(user.toString()); } } |
结果: