//同一个java文件(就是一个后缀为java的文本)只能有一个pulic class
//如果想使用多个class 有两中办法
// 1 在你的java文件里的public class类外面写class类 前面不能加public
// 2 在你的java文件里的public class类里面写public class类作为成员
java内部类分为: 成员内部类、静态嵌套类、方法内部类、匿名内部类 。
详见:http://baike.baidu.com/subview/7942850/7845171.htm#5
更多企业内的技术应用和使用技巧,请移步至我的公众号【程序员实用技能】
public class Main { public static void main(String[] args) { System.out.println("Hello World!"); } public class Test1 {} //正确}public class Test2{}//错误class Test3{}//正确////
在程序中实现交换
两个
数的功能并不复杂,但如果不使用中间变量,需要动一下脑筋。在本文介绍了
两个
方法(其实原理都是
一个
)。其基本原理是数的中和。也是说,通过某种运算(二元运算)将a和b
两个
数变成
一个
数,并保存在其中
一个
变量中。然后再通过同 样的运算符将a或b中和掉。这样实际上是利用了a或 b本身作为了中间变量。
先看第
一个
算法。
static
class
Num
int a;
int b;
public
static void swap1(Num num)
num.a = num.a + num.b;
num.b = num.a - num.b;
num.a
如果
一个
类
声明的时候使用了
public
class
进行了声明,则
类
名称必须与
文件
名称完全一致。
范例:定义
一个
类
(
文件
名称为:Hello.
java
)
public
class
HelloDemo{ //声明
一个
类
,
类
名称的命名规范:所有单词的首字母大写
public
static void main(String args[]){ //主方法
System.out.println(HelloWorld!!!); //系统输出,在屏幕上打印
JAVA
WEB框架,
java
网站
一个
模块只用写
一个
文件
以前的servlet在现在的开发中已经不怎么常见,因为操作起来比较原始和麻烦。有些人就是不安于现状去改造它。
做得好的有Struts,Hybernate,Spring那么这些框架都是很成功的,但是它们在使用的时候都少不了要配置这配置那搞得初学者晕头转向的。那么黄迎斌在些推出最近自己研发一套框架,欢迎大家使用。
此框架将数据库操作简化为0,基本不用管数据库,后台模块只用写
一个
文件
!
框架基础:
jdk1.6以上版本,
数据库mysql5.5以上或者access2003以上
netbeans IDE7.0以上。
tomcat7.0以上
java
ee 6.0
这个案例是黄迎斌封装servlet的成功案例,下面就其配置做详细说明。
使用规范:
1.数据表的名字必需和实体POJO
类
的名字一致。POJO
类
可以通过另一工具DBReverse自动生成。例如:数据库有user表那么必需有
一个
POJO
类
名为User.jsva(大小写忽略)
2.所有表单里面的参数名必需和数据库里面的字段名一致。例如添加
一个
用户的时候,user表中有name和id
两个
字段,那么在表单中必需有
两个
<input>name分别为name和id(大小写忽略)
3.每
一个
控制层的跳转必需要带上参数mode,mode可为: OTHER//其它,SHOWONE//显示单例,SHOWLIST//显示列表, ADD //添加记录,UPDATE//更新记录, EDIT//编辑记录,DELETE//删除记录(大小写忽略)
baseservlet 封装servlet的包不用改,直接引用。
|___DataGet.
java
封装了request.getParameter的方法。直接给
一个
实例,它自动根据传来的参数把值set到相应的成员表变中去。
|___GetAdm.
java
封装了权限获得的方法。有
一个
常量MANAGEERPOWER数值为管理员权限。做项目时自行设置。(修改“=”后的值就可以)
|___HyberbinServlet.
java
封装了Servlet,以后写的sevlet直接继承这个
类
就可以。里面有
一个
抽象
类
execute,在继承的
类
中必需实现这个方法。
database 封装了数据库的所有操作,每次配置数据库的时候只需要修改DatabaseINI.
java
中的相关配置就可以,其它的直接引用。
|___DatabaseAccess.
java
封装了底层数据库的操作,可以用来更新、修改、删除、查询操作。注意:这个
类
只允许DatabaseINI.
java
调用其它任何
类
调用都是不规范的。
|___DatabaseINI.
java
封装了获得DatabaseAccess的方法,每次项目只需修改dbUrl,dbType,user,pass参数就可以。要获得DatabaseAccess对象只需调用getDatabase()方法就可以。
|___GetSql.
java
自动生成sql语句。在本框架中基本上不直接使用。
|___Hyberbin.
java
进一步封装了数据库的操作,用户不直接对数据库操作,只要给出实体POJO
类
,数据可以自动查询、修改、删除、插入
servlet 用户自己的包,完成相应模块的功能。
|___Szdw.
java
POJO
类
,对应数据库中szdw表(名字一致),里面所有成员变量都对应数据库表中
一个
字段。
|___SzdwServlet.
java
用户自己写的servlet,在
public
class
上面一行有如下说明:@WebServlet(name = "SzdwServlet", urlPatterns = {"/Szdw.jsp"})告诉tomcat这个servlet的名字和路径。
框架流程详解:
用户请求:(必需有mode告诉servlet请求
类
型)-》servlet(获得请求
类
型转化为event)->调用execute方法(解析event)->调用相应的方法-》发送数据到用户浏览器。
例如本案例中是师资队伍中的相关模块。
要显示整个师资队伍,那么流程如下:
1.用户请求:http://localhost:8080/HybServlet/Szdw.jsp?mode=showlist (注意:必带mode)
2.servlet获得请求
类
型转化为event=SHOWLIST=2;
3.执行execute方法,解析到SHOWLIST要完成以下动作showlist();send = "szdw.jsp";break;,showlist()中完成收集数据存储在request对象中。
4.send到szdw.jsp即用户看到的师资队伍。
上面的流程servlet除了mode没有需要得到上文有关数据,所以在execute中不需要调用load(formbean)方法。
下面看一下另一种情况,添加
一个
老师到师资队伍:
1.用户请求:action=Szdw.jsp?mode=add 填写相关的表单,例如xm(姓名),xb(性别)……(表单的name和数据库中字段保持一致)
2.servlet获得请求
类
型转化为event=ADD=3;
3.执行execute方法,解析到ADD要完成以下动作load(szdw);add();showlist();send = "szdw.jsp";break;,注意load()方法自动将相关参数set到formbean中去不需要用户再调用request.getParameter()。
4.send到szdw.jsp即用户看到的师资队伍。
还有一种情况就是用户所需要接收的参数不在数据库表中,那么调用load()是得不到效果的。那么这时候自己可以按以前的方法用request.getParameter()去获得
Hyberbin工具详解:
Hyberbin.
java
进一步封装了数据库的操作,用户不直接对数据库操作,给数据库的操作带来了极大的简便。其使用方法如下。
1.例如当前要向数据库表szdw中添加数据:
那么在构造Hyberbin的时候需要给出需要插入的szdw数据
放
在szdw的POJO
类
中去,还要给出szdw表的主键是id.
现有 Szdw szdw;里面有所有关于要插入这个表的教师的相关信息
构造Hyberbin:Hyberbin hyberbin=new Hyberbin(szdw,"id");
插入:boolean b = hyberbin.addByNoKey();//因为主键是自动生成不需要加所以是addByNoKey
返回的布尔值告诉用户是否成功。
2.例如要修改师资队伍中id=5的教师信息:
同样在构造Hyberbin的时候需要给出需要修改的数据
放
在szdw的POJO
类
中去,还要给出szdw表的主键是id.
现有 Szdw szdw;里面有所有关于要插入这个表的教师的相关信息,包括这个老师的id是等于5的。
构造Hyberbin:Hyberbin hyberbin=new Hyberbin(szdw,"id");
修改: boolean b = hyberbin.updata();
返回的布尔值告诉用户是否成功。
3.显示
一个
id=5的教师的信息
同样在构造Hyberbin的时候需要给出需要查询的数据将
放
在szdw的POJO
类
中,szdw可以没有任何信息.
构造Hyberbin:Hyberbin hyberbin=new Hyberbin(new Szdw(),"id");
查询: szdw=hyberbin.showOne(5+"");//默认id是字符串,如果是数字就加
一个
""空引号就行
szdw里面就存有所查询到的结果。
4.删除id=5的教师信息
同样在构造Hyberbin的时候需要给出需要删除的数据将
放
在szdw的POJO
类
中,szdw可以没有任何信息.
构造Hyberbin:Hyberbin hyberbin=new Hyberbin(new Szdw(),"id");
修改: boolean b = hyberbin.dell(5+"");
5.要显示所有教师信息
同样在构造Hyberbin的时候需要给出需要查询的数据在哪个表(szdw)中,szdw可以没有任何信息.
构造Hyberbin:Hyberbin hyberbin=new Hyberbin(new Szdw(),"id");
查询:LinkedList<Object> list = hyberbin.showAll();
查询结果
放
在
一个
链表中了 用的时候用强制
类
型转换 把Object转换为Szdw就行了。
以在的操作是不是有局限性?删除非要按ID删除?查询的结果不能筛选?
作者已经考虑到这个,下面介绍使用附件。
public
void setHql(String Hql) {
this.Hql = Hql;
只要你调用了 setHql(String Hql)的方法,那么它会按照你的hql语句执行查询或者删除修改等操作。
public
void setOrder(String order) {
this.order = order;
只要你调用 setOrder(String order) 的方法,查询的结果将按照你给的排序方法排序。
————————————————————————————————呵呵,一切就这么简单,just do it! hyberbin 2011.10.25 14:12
从一开始我们接触
java
不管是以前老师教与我们的还是我们在有关
java
教程的资料中看到的,是不是都是在“同
一个
源程序中只能有
一个
public
类
”,但是有一天你看到这样的一段代码:如下
public
class
AppConstant {
public
static
class
Config {
public
static String PACKAGE_NAME =
一个
.
java
文件
中可以定义
多个
class
,但只能有
一个
public
类
。final
类
、abstract
类
、
class
类
可以有
多个
。
java
中有四种访问权限:
public
、protected、default、private。
public
可访问本
类
、本包的
类
、子
类
、非子
类
的外包
类
。
protected可访问本
类
、本包的
类
、子
类
。
default可访问本
类
、本包的
类
。
private只能访问本包的
类
。
import
java
.util.HashMap;
import
java
.util.Map;
import
java
.util.concurrent.locks.ReentrantReadWriteLock;
* @description 读写锁代码验证
* @auther: 笑笑是
一个
码农
* @date: 21:29 2020/12/7
public
class
ReadWriteDemo {
## Introduction此Maven插件的目的是从(带注释的)SQL
文件
自动生成
Java
类
,具有以下优点:
无需直接与JDBC交互。
忘记SQL脚本的参数是编译时错误。
TypeSafeSQL将自动关闭JDBC资源,例如 , , 。
SELECT查询的结果返回
类
型安全的 。 例如,如果您的查询仅返回
一个
BIGINT列,则execute()的结果将是 。 如果查询返回两列,则一列名为“ username”的VARCHAR和一列名为“ age”的INTEGER,结果将是 ,其中Result是
一个
自动生成的
类
,如下所示:
public
final
class
Result {
private final String username;
private final int age;
private Result(
final String u
package org.bearfly.test.md5;
import
java
.io.UnsupportedEncodingException;
import
java
.security.MessageDigest;
import
java
.security.NoSuchAlgorithmException;
public
class
MD5Utils {
public
static void main(String[] args){
System.out.println(
好的,你想了解关于
Java
编写
一个
Book
类
的问题。那么,关于
Java
类
的属性,我们称作
类
的成员变量,这个
类
有
两个
成员变量,
一个
是书名 name,另
一个
是页数 pages,下面是
Java
代码示例:
public
class
Book {
private String name; // 书名
private int pages; // 页数
public
Book(String name, int pages) {
this.name = name;
this.pages = pages;
public
String getName() {
return this.name;
public
void setName(String name) {
this.name = name;
public
int getPages() {
return this.pages;
public
void setPages(int pages) {
this.pages = pages;
以上是
一个
简单的
Java
Book
类
代码。在这个
类
中定义了
两个
成员变量,以及构造函数和 Getter/Setter 方法,以便在程序中方便地使用它们。如果你还有其他问题,欢迎随时提出。